Hogyan ellenőrizhető, hogy létezik a class verem túlcsordulás az orosz

Igyekszem, hogy ellenőrizze a class_exists - funkció valamilyen okból nem működik.

Van class_exists ostoba, hogy megpróbálja öntöltő osztályú ingatlanok, ha a második érv van téve igaz (ez az alapértelmezett). A funkció ellenőrzi, hogy egy osztály nem az aktuális futási idő, és az, hogy egy osztály az alkalmazás - legyen elérhető, ha az új példány jön létre most új. Abban az időben a PHP podzagruzki viszont az autoloader, amely egyértelműen megpróbálja letölteni egy fájlt, nem include_once. ami után a helyzet még menthető, és require_once. és akkor csinálni anélkül, hogy ellenőrizné fájl létezését. Ezért van egy potenciálisan halálos helyzet, hogy az új. hogy class_exists.







Az első helyen a autoloader soha csinálni potenciálisan pusztító intézkedéseket. Lehet, hogy sok. PHP autoloader rendszer úgy van kialakítva, hogy jöhetett tizenkét embert állítva a rakodó, és mindannyian dolgoztak ki - ha nem sikerült, a pálya mellett. Tehát a autoloader kell tennie semmit. ha nem talál egy osztályban.







A második dolog, hogy mondjam, ez a menedzser Composer függőségeket. Én nagyon nem szeretem azt a tényt, hogy egyesíti funkutsii menedzser függőségek és a autoloader, de abban a pillanatban, hogy egy ipari szabvány, így a legegyszerűbb módja az lenne, hogy azt az indításkor.

Ha továbbra is szeretné írni a saját rakodó - annyit kell tennie, akkor ellenőrzi a fájl létezését ellenőrzés és könyvtárat, hogy melyik számít. Még jobb, csináld szabvány szerint PSR-4. amely szerint a autoloader futó Composer. Amennyire én értem, az első figyelmeztetés azt a tényt, hogy az Ön által megadott include_path a buldózer, és a PHP első úgy néz ki, egy osztály van.

Mindenesetre, végrehajtása után a megfelelő bootloader akkor gond nélkül használható class_exists meglétének az osztály.




Kapcsolódó cikkek