Kdyby\Aop nedaří se mě navázat na událost

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

Ahoj,

snažím se vytvořit svoje první AOP protože by se nám to hodilo do aplikace co teď tvoříme.

Postupoval jsem podle článku http://filip-prochazka.com/…/aop-v-nette a cílem je vypsat Hello word pokaždé když se spustí aplikace:

<?php

/**
 * @Aop\Before("method(\Nette\Application\Application->run())")
 */
public function hello()
{
	echo 'Hello word';
}
?>

Toto samozřejmě funguje, ale když chci navázat na událost přímo v presenteru, tak si to ani neškrtne:

<?php

/**
 * @Aop\Before("method(\App\FrontModule\EventPresenter->actionDefault())")
 */
public function hello()
{
	echo 'Hello word';
}

?>

Volám to u presenteru špatně?

Dík … jinak skvělá práce :-)

David Matějka
Moderator | 6445
+
0
-

mas presenter registrovany jako sluzbu?

a verze nette?

Editoval matej21 (26. 2. 2014 10:31)

Tomáš Jablonický
Člen | 115
+
0
-

matej21 napsal(a):

mas presenter registrovany jako sluzbu?

a verze nette?

Ne, presenter jako službu nemám registrovanou, každopádně ano, tady je ten zakopaný pes!

Nette 2.1

Dík

Filip Procházka
Moderator | 4668
+
0
-

Dyštak počítej s tím, že to není úplně hotový. Respektive to co tam je na 99% funguje, ale některé funkce tam chybí

Tomáš Jablonický
Člen | 115
+
0
-

@Filip Procházka zatím to dobře vyřešilo náš problém :-)

enumag
Člen | 2118
+
0
-

@Filip Procházka: Nebylo by lepší hodit výjimku pokud služba daného typu (EventPresenter) neexistuje? Takhle je to náchylné na překlepy.

Tomáš Jablonický
Člen | 115
+
0
-

@enumag: Nebo rovnou vyhodit výjimku, že služby není zaregistrovaná a tuto výjimku vyhazovat jen v Debug modu?

Filip Procházka
Moderator | 4668
+
0
-

Rozhodně nebylo, spíš by to chtělo nějaký debug bar panel který by říkal jestli jsou aspekty na něco navázané.