Po přidání namespace nefunguje

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

Ahoj, (začínám s nette a)

mám takový problém, že jsem si udělal mini aplikaci, která jen vypisuje data z jedné tabulky, mám tedy dva modely (ArticlesRepository a Repository) a 3 presentery (ArticlesPresenter, BasePresenter, HomepagePresenter). Chtěl jsem z toho udělat modul, takže jsem do všech presenterů přidal namespace FrontModule. Do modelů jsem ho nepřidával.

Úprava config na:: articlesRepository: \FrontModule\ArticlesRepository

Ještě navíc jsem presentery a templaty hodil do adresáře FrontModule.

BasePresenter.php

namespace FrontModule;
abstract class BasePresenter extends \Nette\Application\UI\Presenter
{}

ArticlesPresenter.php

namespace FrontModule;
class ArticlesPresenter extends \BasePresenter
{...}

Repository.php

//dával jsem i namespace FrontModule; ale podobná chyba (pouze bez FrontModule)
abstract class Repository extends Nette\Object
{..}

ArticlesRepository.php

//dával jsem i namespace FrontModule;  ale podobná chyba (pouze bez FrontModule)
class ArticlesRepository extends Repository
{..}

Router upraven:

// Front
		$router[] = new Route('<presenter>/<action>[/<id>]', array(
		    'module' => 'Front',
		    'presenter' => 'Homepage',
		    'action' => 'default',
		    'id' => NULL,
		));

Tracy mi vyhazuje chybu, že nemůže instanciovat/najít třídu, což je mi divné:

Class \FrontModule\ArticlesRepository used in service 'articlesRepository' has not been found or is not instantiable

Než jsem přidal jmenné prostory, tak všechno fungovalo.
Nějaký nápad jak problém vyřešit?

Díky všem ;-)

PS:
PHP 5.3.3–7+squeeze17
Apache/2.2.16 (Debian)
Nette Framework 2.0.13

Editoval mujfibi (12. 11. 2013 11:27)

vvoody
Člen | 910
+
0
-

Exception hlási problém s ArticlesRepository a ty sem pastuješ všetky ostatné triedy ;)

ViPEr*CZ*
Člen | 818
+
0
-

Chtěl jsem z toho udělat modul, takže jsem do všech presenterů přidal namespace FrontModule. Do modelů jsem ho nepřidával.

Tak proč ho používáte v configu u modelu (repozitáře)?

mujfibi
Člen | 3
+
0
-

vvoody napsal(a):

Exception hlási problém s ArticlesRepository a ty sem pastuješ všetky ostatné triedy ;)

Omlouvám, se celou dobu jsem zaujatej na presenter :D
Upozornil bych, že je to v adresářové struktuře app/model/ a ostatní je v app/FrontModule/presenters/ a app/FrontModule/templates/

Upraveno…

Editoval mujfibi (12. 11. 2013 11:26)

vvoody
Člen | 910
+
0
-

To čo ma byt ten komentár :D tak snáď namespace služby musí byť totožný s definíciou v configu, čiže samozrejme že to tam patrí. Ak ti vyhodí chybu tak bude zrejme iná čiže problém bude aj inde.

mujfibi
Člen | 3
+
0
-

vvoody napsal(a):

To čo ma byt ten komentár :D tak snáď namespace služby musí byť totožný s definíciou v configu, čiže samozrejme že to tam patrí. Ak ti vyhodí chybu tak bude zrejme iná čiže problém bude aj inde.

Tak už jsem to opravil a předělal, nějakým způsobem jsem poopravoval vše, co mi přišlo špatně.
Přidal jsem namespace i do modelů a hlavně poupravoval různě zpětná lomítka :D

Děkuji za radu a jdu zkoumat dál.