Otázka: Jak na boolean anotace?

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

Chci začít významněji používat anotace, ale narazil jsem na takový problém.

Uvedu příklad. Chtěl bych anotací říct, že akce presenteru je ajaxová:

<?php
class ArticlePresenter extends Basepresenter {

	/**
	 * @ajax
	 */
	public function actionDelete($id) {
		//...
	}

}
?>

Fajn, no-problem, takhle to může klidně fungovat. Jenže pak mě napadne, že většina akcí je ajaxových a tedy by toto mělo být výchozí chování s možností to u některých neajaxových zrušit.

Otázka tedy zní: jak u neajaxové akce nastavit tuto boolean anotaci na FALSE?

<?php
/**
 * @ajax FALSE
 */
?>

Pokud vím tak tohle dá do té anotace string hodnotu „FALSE“, což mi nepřipadá zrona čisté.

Celý příklad s ajaxem berze jako příklad, jde mi obecně o boolean anotaci s výchozí hodnotou TRUE.

Když to celé ještě trochu zkomplikuju, co kdybych třeba chtěl pomocí anotace @template definovcat soubor se šablonou, přičemž bez uvedení této anotace by se hledalo normálně. Jak to vylepšit tak, abych tou anotací mohl říct i to, že tato akce žádnou template nemá, tzn. nerenderuje se žádná odpověď?

Napadá vás nějaké řešení?

Editoval jtousek (5. 10. 2010 14:46)

voda
Člen | 561
+
0
-

Co třeba:

<?php
/**
 * @noAjax
 * @noTemplate
 */
?>
jtousek
Člen | 951
+
0
-

@voda: na to by se musel upravit parser anotací anebo potom hledat tyto nové anotace, ne?

paranoiq
Člen | 392
+
0
-

parser v nette automaticky překládá booleany zapsané malými písmeny, takže @ajax false by mělo fungovat

static $tokens = array('true' => TRUE, 'false' => FALSE, 'null' => NULL, '' => TRUE);

Editoval paranoiq (5. 10. 2010 16:50)

jtousek
Člen | 951
+
0
-

paranoiq napsal(a):

parser v nette automaticky překládá booleany zapsané malými písmeny, takže @ajax false by mělo fungovat

static $tokens = array('true' => TRUE, 'false' => FALSE, 'null' => NULL, '' => TRUE);

Díky. Přesně to jsem potřeboval. :) V dokumentaci anotací to bohužel chybí.

paranoiq
Člen | 392
+
0
-

nejlepší dokumentace je zdroják ;-]

kravčo
Člen | 721
+
0
-

jtousek napsal(a):

paranoiq napsal(a):

parser v nette automaticky překládá booleany zapsané malými písmeny, takže @ajax false by mělo fungovat

static $tokens = array('true' => TRUE, 'false' => FALSE, 'null' => NULL, '' => TRUE);

Díky. Přesně to jsem potřeboval. :) V dokumentaci anotací to bohužel chybí.

Mohol by si to tam prosím dopísať?

jtousek
Člen | 951
+
0
-

kravčo napsal(a):

Mohol by si to tam prosím dopísať?

Dopsáno

Patrik Votoček
Člen | 2221
+
0
-

Super… :-) Takhle se mě to líbí… :-)