Adresářová struktura modulů

- maarlin
 - Člen | 207
 
Mám doporučenou adresářovou strukturu pro moduly:
/app/
	FrontModule/
		presenters/
			BasePresenter.php (abstract class Front_BasePresenter extends NPresenter ...)
			HomepagePresenter.php (class Front_HomepagePresenter extends Front_BasePresenter ...)
/app/AdminModule/presenters/
HomepagePresenter se bez problémů načte, ale nevidí vůbec
přítomný BasePresenter…
Class 'Front_BasePresenter' not found
File: .../www/app/FrontModule/presenters/HomepagePresenter.php
A cache je vyprázdněná.
Editoval maarlin (29. 3. 2011 13:51)

- maarlin
 - Člen | 207
 
Tak jsem to ještě chvíli testoval a zjistil, že to zamlčuje jakékoliv
Presentery… kromě samotného NPresenter…
Zkrátka cokoliv napíšu jako „rodiče“ té třídy (toho presenteru)
zahlásí jako neexistující…
To skoro vypadá na nějaký problém s RobotLoaderem…?
; services
service.Nette-Loaders-RobotLoader.option.directory[] = %appDir%
service.Nette-Loaders-RobotLoader.option.directory[] = %libsDir%
service.Nette-Loaders-RobotLoader.run = TRUE
Šaman napsal(a):
To by mělo fungovat. U mě bez problémů. Zkontroluj si překlepy a jestli na to nepřijdeš, tak sem hoď zdrojáky obou presenterů a verzi Nette.
Na těch zdrojácích opravdu není nic zvláštního…
Když totiž přidám na první řádek HomepagePresenteru
require_once APP_DIR.'/FrontModule/presenters/BasePresenter.php';
tak vše prakticky funguje…
Verze Nette je poslední dostupná (=
2.0-dev (revision 7616569 released on 2011-03-10))
Editoval maarlin (29. 3. 2011 18:03)

- Ondřej Brejla
 - Člen | 746
 
Možná namespace?
namespace Front;
class BasePresenter extends ...
Edit: tak nic, nevšiml jsem si, že používáš N verzi
Editoval Ondřej Brejla (29. 3. 2011 17:36)