RobotLoader staticke pridani

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
h4kuna
Backer | 740
+
0
-

Ahoj,
existuje nejaka staticka metoda ktera mi prida do temp souboru RobotLoadera novou tridu, pac jsem si dynamicky vytvoril tridu (na zacatku vim jak se bude jmenovat ale nevim kde bude ulozena), ulozil ji do app/temp a potrebuju ji zavolat, tak samozrejme mi to napise ze tridaa neexistuje.

Resil jsem to takto, ale je to nedokonele pac to nemaka uplne jak bych si ppredstavoval pri druhym zavolani uz tu tridu opet nemuze najit.

<?php
if(!class_exists($class) && Environment::getServiceLocator()->hasService('nette\loaders\robotloader'))
{
    $robot  =Environment::getService('nette\loaders\robotloader');
    $robot->addClass($class, $file);
    $robot->rebuild();
}
?>

Hodilo by se mi neco takovyho

<?php
RobotLoader::add($class, $file);
//aby si to nacetlo instanci robotloadera, pridalo to tridu do temp souboru a to jen pokud uz tam jeste neni
?>

Editoval matata (3. 12. 2009 22:18)

Tomik
Nette Evangelist | 485
+
0
-

Pokud je to možné udělat hned v bootstrapu, pak to přidej už při nastavování loderu.

<?php
$loader = new RobotLoader();
$loader->addDirectory(APP_DIR);
$loader->addDirectory(LIBS_DIR);
$loader->addClass($class, $file);
$loader->register();
?>

Pokud ne, tak Tvoje cesta je správná, je sice ukecaná, ale je tam vše, co tam musí být.

h4kuna
Backer | 740
+
0
-

Tomik napsal(a):

Pokud je to možné udělat hned v bootstrapu, pak to přidej už při nastavování loderu.

Psal jsem nejde to.

Tomik napsal(a):

Pokud ne, tak Tvoje cesta je správná, je sice ukecaná, ale je tam vše, co tam musí být.

Tak to nemaka jak ma pac to opravdu zaregistruje pri stejnym pozadavku a kdyz zmacknu F5 tak uz ji nemuze najit

Myslim si prave aby to nebylo tak ukecany tak to pridat do distribuce, co??