LeanMapper icon indicating copy to clipboard operation
LeanMapper copied to clipboard

Metoda Property::getAnnotation zpřístupňující originální anotaci

Open Tharos opened this issue 10 years ago • 3 comments

Rád bych navázal na tento komentář.

Jsem určitě pro komentář zpřístupnit. Otázkou pouze zůstává, jak nejlépe na to, protože parser nyní funguje tak, že si příznaky „vyzobává“ z celého řádku. On aktuálně neřeší místo, kde je poslední anotace.

Příklad namísto slov:

@property Book $book m:hasOne tohle je kniha m:filter(order)

Z tohoto zápisu parser vytáhne příznaky hasOne a filter. Co by vracela zamýšlená metoda Property::getDescription?

Docela se mi líbí, že to takhle funguje. Zvláště to oceníme, až brzy budou moci být anotace přes více řádků:

/**
 * @property Book[] $books
 *     m:hasOne    Knihy, které autor napsal
 *     m:filter(order#published)    Seřazené od nejstarších
 *
 * @property int $age    Věk autora
 *     m:form(unsigned, range: 1-99)    Metadata pro továrnu na formulář
 *
 * @property string|null $website
 */

Řešením by bylo zpřístupnit celou originální anotaci, řekněme pomocí metody Property::getAnnotation. To by bylo velmi jednoduché. Bylo by to dostatečné řešení?

Tharos avatar Mar 18 '14 08:03 Tharos

V podstatě jsem to chtěl pro to, abych mohl dát při generování databáze (schematu) komentáře ke sloupcům. Pokud by tedy vrátila kompletní anotaci (patřící k property), tak si tam klidně vrazím komentář celý, i s lm anotacemi.

jasir avatar Mar 18 '14 20:03 jasir

@jasir Něco takového bych nejspíše řešil něčím jako m:comment(Můj komentář do databáze) nebo obdobným vlastním flagem.

Jinak k tématu issue: Řešení Property::getAnnotation je myslím dostačující. Jediné, co mě ještě napadlo na *"vylepšení", by byla možnost vrátit pole 'flag' => 'komentář', čímž bychom dostali zvlášť komentář ke každému flagu. Tedy z uvedeného příkladu něco jako:

array(
  'hasOne' => 'Knihy, které autor napsal',
  'filter(order#published)' => 'Seřazené od nejstarších',
);
// neřeším unikátnost klíčů atd.

Jen nevím, jestli by to bylo k něčemu dobré...

mibk avatar Mar 18 '14 20:03 mibk

Hmm, to máš vlastně pravdu

jasir avatar Mar 18 '14 20:03 jasir