Ako includovať php súbory tretích strán?
- j-cup
- Člen | 21
Ahojte, zrovna som sa vrátil po vyše roku k práci s Nette. Od 0.96ky sa toho naozaj dosť zmenilo.
Moja otázka je nasledovná: Mám php súbor, ktorý potrebujem includovať do svojho Nette projektu. Po prečítaní dokumentácie o auto loadingu tried som teda hodil subor xxx.php do LIBS. Naivne som veril, že si ho RobotLoader nájde, ale nakoniec to skončilo fiaskom a pridaním natvrdo cez
require_once LIBS_DIR.‚\xxx.php‘;
do HomePagePresentera. Toto samozrejme funguje, ale nepáči sa mi to. Poradíte ako to nejako zautomatizovať?? Vopred veľká vďaka.
- drahos
- Člen | 18
RobotLoader hledá tam, kde mu řekneš. Nevím, jak to máš nastavené
v bootstrapu. Můžeš buďto nechat RobotLoadera hledat v libs
adresáří a nebo líp použít composer pokud
to jde.
Jinak přidat adresář:
$configurator->createRobotLoader()
->addDirectory(APP_DIR)
->addDirectory(LIBS_DIR)
Editoval drahos (29. 11. 2012 22:06)
- Tomáš Kolinger
- Člen | 136
Umístění do presenteru je nevhodné. Ideální místo je podle mě bootstrap.php.
Zautoamtizovat to očividně nejde, leda napsat vlastní/jiný/další loader.
- mildabre
- Člen | 62
j-cup napsal(a):
Arynev napsal(a):
Neautoloaduje nette pouze třídy?
Vidíš, toto je dobrý postreh. Ja vlastne potrebujem použiť funkciu z daného súboru a nie classu. Toto mi predtým nenapadlo, ale bude to určite dôvod prečo mi hádzalo chyby. Vďaka.
Tak si místo funkce napiš statickou metodu nějaké třídy a bude se Ti to myslím autoloadovat. Nette je stoprocentní objektovina, i když funkce fungují také, piš třídy, je to čistší a modernější.