prüfen, ob Klasse schon existiert
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
arbeiten
aufruf
code
einzig wahre code
funktioniert code
klasse code
klasse quellcode
laden
lauter klassen
mehrfach anwenden
methode
objekt
schule
string
url
vergeben
-
Hallo
ich möchte bei Aufruf einer Seite eine Klasse ggf. mehrfach anwenden
aber nicht jedesmal diese Klasse neu inizialisieren (oder wie man sowas nennt)
wie kann ich prüfen, ob die Klasse schon "geladen" ist ?
damit is sie nicht bei jeder Nutzng neu laden muss
$myaction = new MeineKlasse($startwer1, $startwert2);
$ergebnis1 = $myaction->get($abfragewert);
nur wenn (Klasse nicht existiert) dann { inizialisiere Klasse neu )
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
if(class_exists('KLASSE')) { //... }
-
nein,
das habe ich schon ausprobiert
if(class_exists('KLASSE')) { .. }
prüft ja "nur" ob die Klasse definiert ist,
das ist sie ja, durch include, auch schon vor der Initialisierung mit:
$myaction = new MeineKlasse($startwer1, $startwert2);
also ich will nicht prüfen, ob die Klasse als Klasse (Quellcode) existiert (geladen ist)
sondern ob sie schon "gestartet" ist ... quasi ob ich mit $myaction schon arbeiten kann
-
cptgame schrieb:
.. quasi ob ich mit $myaction schon arbeiten kann
Dann prüfe doch einfach ob $myaction schon existiert?
Beitrag zuletzt geändert: 26.1.2012 13:54:20 von alfr3d -
alfr3d schrieb:
Dann prüfe doch einfach ob $myaction schon existiert?
ach warum einfach, wenn es auch kompliziert geht .... :)
hast ja recht, sah wohl die Schule vor lauter Klassen nicht mehr
einfach mit
if (!isset($myaction) ) { $myaction = new MeineKlasse($startwer1, $startwert2); }
EDIT:
habe nochwas gefunden, ... prüfen ob eine Methode der Klasse schon funktioniert
if (!method_exists($myaction,'get')) { $myaction = new MeineKlasse($startwer1, $startwert2); }
aber !isset() ist wohl deutlich einfacher
:)
-
cptgame schrieb:
das einzig wahre kommt aber von php.net selbst:
aber !isset() ist wohl deutlich einfacher :)
oder (und damit ist eigentlich nicht mehr das einzig wahre ;):if (is_a($<object>, '<className>')) { ...; }
if ($<object> instanceof '<className>') { ...; }
weil du ja 'versehentlich' den variablennamen schon hättest einmal vergeben können und da drin ist doch kein objekt von klasse enthalten (weil was weiß ich ... ein string drin ist).
p.s.: dein titel war leider falsch
Beitrag zuletzt geändert: 26.1.2012 15:07:01 von hemiolos -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage