Anotace – podpora jedné hvězdičky
- Jakub Šulák
- Člen | 222
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?
- pmg
- Člen | 372
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
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é.
- Honza Marek
- Člen | 1664
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
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.
- romansklenar
- Člen | 655
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 ;)