Anotace – podpora jedné hvězdičky

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

Chtěl bych se zeptat, zda by náhodou nešlo změnit ve třídě Anotataion:

<?php
/* @persistent */
public $property;
...
?>

Ano jde mi o tu syntaktickou chybu jedné hvězdičky u komentáře. Tento komentář totiž vyhovuje syntakticky php, takže editory to nepoznají a já pak (pravda, svoji blbostí) hledám dlouze kde je chyba. Nešlo by buď akceptovat tu jednu hvězdičku, nebo ještě lépe vyhodit warning?

Jod
Člen | 701
+
0
-

A ja som rozmýšlal prečo je tam tá druhá hviezdička :)

pmg
Člen | 372
+
0
-

Jsem rád, že v tom nejsem sám. ;-)

Myslím, že vývojová prostředí by na to měla upozornit a v obyčejných editorech většinou půjde nastavit rozdílnou barvu pro oba komentáře.

Jinak si to dokážu představit tak, že by metoda PresenterHelpers::getPersistentParams v módu development normální komentáře vyzkoušela a vyhodila varování. Standardní anotace se předparsují automaticky, takže akceptovat oboje by znamenalo snížení výkonu.

Jakub Šulák
Člen | 222
+
0
-

Jo souhlas s tím, že akceptovat oboje by byla blbost – i kvůli tomu, že by to nenutilo uživatele dělat to správně. Ale nějaké upozornění by bylo skvělé.

Jan Tvrdík
Nette guru | 2595
+
0
-

Jestli se bude hlasovat, tak já jsem proti.

Honza Marek
Člen | 1664
+
0
-

Taky myslim, že je to blbost.

phx
Člen | 651
+
0
-

Nejak jsem vubec nepochopil proc by misto 2 * mela byt jen *. Prijde mi to uplne zcestne.

pmg
Člen | 372
+
0
-

Nakonec se zůstalo jen u návrhu vyhazovat varování při použití jedné hvězdičky namísto dvou. Varování by se přitom omezilo jen na debugovací mód.

Honza Marek
Člen | 1664
+
0
-

Nejspíš to potom php nebere jako dokumentační komentář. A persistentní parametry se zjišťujou podle toho, jestli je v dokumentačním komentáři proměnné řetězec @persistent.

David Grudl
Nette Core | 8218
+
0
-

Pro analýzu anotací se používá reflection. Akceptovat jednu hvězdičku znamená napsat vlastní implementaci, něco jako RobotLoader pro parsování komentářů ve zdrojových kódech. Sice takový požadavek existuje, neboť s použitím některých akcelerátorů funguje reflection špatně, ale není to nic snadného a v nejbližší době se na to nechystám.

Možná by nebylo špatné vytvořit něco jako RouterDebugger, tedy PresenterDebugger, který vypíše strom presenterů a jejich action/view metody + persistent parameters, a podle toho by se to dalo kontrolovat.

stpnkcrk
Generous Backer | 190
+
0
-

Myslím že PresenterDebugger by byla moc fajn věcička, kterou by ocenila spousta „Nettařů“. :)

romansklenar
Člen | 655
+
0
-

David Grudl napsal(a):

Možná by nebylo špatné vytvořit něco jako RouterDebugger, tedy PresenterDebugger, který vypíše strom presenterů a jejich action/view metody + persistent parameters, a podle toho by se to dalo kontrolovat.

To by byla pěkná hračka ;)