$presenter->formatSignalMethod($this->signal) – handleArray
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Aurielle
- Člen | 1281
Ahoj, pokouším se rozchodit si pro svůj projekt autorizaci a při testování kódu:
$actionMethod = $this->formatActionMethod($this->action);
$signalMethod = $this->formatSignalMethod($this->signal);
$renderMethod = $this->formatRenderMethod($this->view);
dump($actionMethod);
dump($signalMethod);
dump($renderMethod);
dump($this->signal);
mi při dotazu na signál banDetails (?do=banDetails) z dumpu vyleze toto:
"actiondefault" (13)
"handleArray" (11)
"renderdefault" (13)
array(2) [
0 => ""
1 => "banDetails" (10)
]
Vidím to na bug…
Nette Framework 1.0-dev 601b59d released on 2010–08–20
PHP 5.3.1
Taky přidávám dotaz: Jak byste řešili autorizaci, když by obě dvě
action+render měli @secured, v první action bych provedl
$this->setView('action2');
a protože se kontrola autorizace
spouští hned na začátku ($presenter->startup()), druhá action/render
nebude ověřena.
Je správné přepsat si setView tak, aby znovu volal authCheck? Nebo to vyřešit jinak?
- David Grudl
- Nette Core | 8228
Tam se musí použít:
$signalComponent = $this->signal[0] === '' ? $presenter : $presenter->getComponent($this->signal[0]);
$signalMethod = $signalComponent->formatSignalMethod($this->signal[1]);
Jistě, není to úplně pohodlné, ale jelikož jde o interní věc tak jsem API moc neřešil.