Nette 2beta – reflexe a SimplePresenter

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

Při využívání reflexe a ACL jsem narazil na drobnou chybku. Spíš mám ale pocit, že něčemu nerozumím, proto raději hodím dotaz a poprosím o případné vysvětlění. Pomocí reflexe získám seznam zdrojů (presenterů a akcí). Následně chci k těmto zdojům naaplikovat ACL. Jenže ve zdrojích získaných pomocí reflexe se mi vyskytuje SimplePresenter, který nikde ve své aplikaci nedefinuju/nepřetěžuju… Čekal bych, že refexí získám buď vše, nebo jen mnou definované objekty. Po chvilce hledání a dumání jsem přišel na toto:

// řádek v souboru \lib\Nette\Application\SimplePresenter.php
class SimplePresenter extends Nette\Object implements Application\IPresenter
// ... jsem doplnil na
abstract class SimplePresenter extends Nette\Object implements Application\IPresenter

Můj problém to vyřešilo, nicméně tomu nerozumím – je to záměr nebo bug? Díky za nakopnutí.

PS: Nette 2beta namespace, PHP 5.3

Editoval Ot@s (13. 6. 2011 15:04)

smasty
Člen | 90
+
0
-

SimplePresenter sa myslím použije, keď v routovaní nedefinuješ presener a action, ale používaš callbacky:

$router[] = new Route('clanok/<id>', function($id){
  // ...
});