Neviem si poradit s problemom (PHP v5.3) ked chcem automaticky nacitavat triedy ktore vyuzivaju namespace.
Mam triedu:
Kód:
namespace Models;
class Test {
public function __construct()
{
...
}
}
co sa tyka autoloading funkcie mam
Kód:
spl_autoload_extensions('.php');
spl_autoload_register(array($this, 'load'));
funkcia load je v poriadku
a teraz ked zavolam
Kód:
new \Models\Test();
tak vsetko prebehne v poriadku.
Ked ale zavolam
Kód:
new Test();
vyhodi mi to chybu Class 'Test' not found in ...
funkcia load sa stara aj o to ze ci vlozim celu cestu k triede alebo len nazov triedy vzdy includne to iste. Takze v tomto nebude chyba. Kazdopadne som si dal vypisat ze co includuje a v oboch pripadoch ci je to cez
Kód:
new \Models\Test()
alebo len
Kód:
new Test()
je cesta k includovanemu suboru rovnaka.
Predpokladam ze chyba je prave s tym namespaceom. Ked som pre triedu Test zrusil namespace (resp. som odstranil riadok namespace Models;) tak uz to islo pre
new Test() a opacne pre
new \Models\Test() to neslo.
Viete mi poradit ako sa mam s tymto problemom vysporiadat? Uz ma nic nenapada.