Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.php > #4725
| From | Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) |
|---|---|
| Newsgroups | de.comp.lang.php |
| Subject | Re: class_exists() und Autoloader |
| Date | 2021-07-10 21:04 +0000 |
| Message-ID | <1t60ea09f6i2fd3n3e8%sfroehli@Froehlich.Priv.at> (permalink) |
| References | <1t60e846a8i384en3e8%sfroehli@Froehlich.Priv.at> <1t60e8681fi6822n3e8%sfroehli@Froehlich.Priv.at> <m1mtqt6gz2.fsf@mbp.pflaesterer.de> |
On Sat, 10 Jul 2021 22:39:45 Karl Pflästerer wrote: > Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) writes: > > On Fri, 09 Jul 2021 15:07:18 Stefan Froehlich wrote: > >> Gibt es einen denkbaren Umstand (und vor allem: welchen?), > >> durch den > >> > >> #v+ > >> <?php class_exists($module, true) ?> > >> #v- > >> > >> false zurückgibt, *ohne* davor die von spl_autoload_functions() > >> ausgegebenen Handler aufzurufen? [...] > > Bei syntaktisch ungültigen Klassennamen wird also nicht der > > Autoloader aufgerufen und auch keine Exception geworfen, sondern > > class_exists() gibt einfach false zurück - steht so nicht in der > > Dokumentation, ist evt. aber gut zu wissen. > Das steht dort nicht explizit, aber class_exists gibt nur dann > true zurück, wenn die Zeichenkette der Name einer definierten > Klasse ist. Ansonsten false. Da man Zeichnketten übergibt kann > man viele syntaktisch ungültige Klassennamen übergeben. Im Grund genommen ja, wobei IMO das Werfen eines Fehlers vielleicht geschickter wäre. Wenn man wirklich mit syntaktisch ungültigen Klassennamen arbeiten möchte, könnte man ihn ja abfangen, ansonsten hat man aber wenigstens gleich einen Hinweis auf das Problem. > Es erscheint mit sinnvoll nur dann den autoloader aufzurufen, wenn > die Zeichenkette überhaupt auf eine Klasse verweisen könnte Eh. In meinem Fall werden Views als Klassen implementiert, und in einem Template war anstatt \Level1\Level2\Child::class versehentlich "/Level1/Level2/Child" als String eingetragen. Das hat dann ein paar km weiter hinten ein Problem erzeugt - und ich war zunächst so fokussiert auf Fehler in der Modul*bezeichnung* und danach so irritiert, dass die Datei nicht einmal gesucht wird, dass mir die falsche Syntax schlicht nicht aufgefallen ist. Servus, Stefan -- http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich Offizieller Erstbesucher(TM) von mmeike Stefan - Wer trägt heute schon Eulen nach Athen? (Sloganizer)
Back to de.comp.lang.php | Previous | Next — Previous in thread | Find similar
class_exists() und Autoloader Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2021-07-09 13:07 +0000
Re: class_exists() und Autoloader Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2021-07-09 15:18 +0000
Re: class_exists() und Autoloader k@rl.pflaesterer.de (Karl Pflästerer) - 2021-07-10 22:39 +0200
Re: class_exists() und Autoloader Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2021-07-10 21:04 +0000
csiph-web