SmartPresenterFactory – zvoľte si vlastnú konvenciu

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

SmartPresenterFactory

SmartPresenterFactory je rozšírením základného Nette\Application\PresenterFactory. Poskytuje možnosť jednoducho si nakonfigurovať konvenciu pomenovania a umiestnenia Presenterov.

Download

Konfigurácia

SmartPresenterFactory je možné nakonfigurovať priamo v config.neon alebo v bootstrape.

service:
    Nette\Application\IPresenterFactory:
        factory: Smasty\Extensions\SmartPresenterFactory::register
        option:
            class:
                prefix: App\
                module: %sModule\
                presenter: Presenters\%s
            file:
                prefix: ''
                module: /%sModule
                presenter: /presenters/%s.php

Nastavenia class slúžia na zostavenie názvu triedy daného presenteru. Je možné nastaviť obecný prefix (teda napr. App\ pre oddelenie celej aplikácie do samostatného namespace), namespace modulu a názov samotnej triedy presenteru.

%s slúži na dosadenie názvu presenteru, resp. modulu a je spracované funkciou sprintf().

file nastavuje pravidlá pre zostavenie cesty k súboru presenteru. V tomto prípade je vo volaní sprintf() dostupný aj ďalší parameter – lower-case verzia názvu presenteru/modulu.
Všetky cesty automaticky začínajú v APP_DIR, nie je preto nutné ho uvádzať ako prefix.

Bez uvedenia konfigurácie generuje SmartPresenterFactory rovnaké cesty ako základný Nette\Application\PresenterFactory. Je možné niektoré hodnoty neuviesť – v tom prípade sa použijú defaultné hodnoty.

Príklad

Pri hore uvedenej konfigurácii SmartPresenterFactory generuje nasledovné cesty/triedy:

Presenter Class File
Homepage App\Presenters\Homepage APP_DIR/presenters/Homepage.php
Admin:Homepage App\AdminModule\Presenters\Homepage APP_DIR/AdminModule/presenters/Homepage.php
Admin:Pages:Edit App\AdminModule\PagesModule\Presenters\Edit APP_DIR/AdminModule/PagesModule/presenters/Edit.php

Editoval smasty (25. 9. 2011 12:19)

Filip Procházka
Moderator | 4668
+
0
-

Jenom takovej malej rejpaneček :) koukni na array_replace_recursive

smasty
Člen | 90
+
0
-

HosipLan napsal(a):

Jenom takovej malej rejpaneček :) koukni na array_replace_recursive

Dík, fixed ;-)

Editoval smasty (26. 4. 2011 20:00)