Posts Tagged ‘annotations’

Nowości z php.internals – annotation strikes back

Posted in php, programowanie on maj 12th, 2011 by Wojciech Soczyński – 16 Comments

Od czasu rozpoczęcia się wątku o PHP 5.4 na liście php.internals, jak bumerang powrócił temat adnotacji. Nasi drodzy deweloperzy doszli do nowego konsensusu (poprzedni odrzucał adnotację) i stwierdzili, że może nie są jednak one takie złe. W efekcie tego powstała nowa propozycja RFC, główne zmiany jakie w niej widzę, to zmiany składniowe (o które były największe bitwy ostatnim razem). W nowej propozycji adnotacje mają postać miksu phpDoc i formatu JSON. Nowa składnia behold:

/**
 * Foo class.
 *
 * @Entity {repositoryClass: "FooRepository"}
 * @Table  {name: "foos"}
 *
 * @author "Guilherme Blanco"
 */
class Foo
{
  // ...
}

Na pierwszy rzut oka zdaję się być kompatybilna z istniejącym rozwiązaniem (phpDoc). Jednak wszystko zależy od konkretnej implementacji parsera. Wykorzystanie:

$reflClass = new \ReflectionClass('Foo');
var_dump($reflClass->getAnnotations());
 
/*
array(3) {
  ["Entity"]=>
  object(ReflectionAnnotation)#1 (1) {
    ["value"]=>
    object(stdClass)#1 (1) {
      ["repositoryClass"]=>
      string(13) "FooRepository"
    }
  }
  ["Table"]=>
  object(ReflectionAnnotation)#2 (1) {
    ["value"]=>
    object(stdClass)#1 (1) {
      ["name"]=>
      string(4) "foos"
    }
  }
  ["author"]=>
  object(ReflectionAnnotation)#3 (1) {
    ["value"]=>
    string(16) "Guilherme Blanco"
  }
}
*/

Propozycja będzie jeszcze pewnie wiele razy dyskutowana, oczekujcie więc więcej informacji z tego pola bitwy 😉

Nowości z php.internals – bitwa o adnotacje

Posted in php, programowanie on wrzesień 23rd, 2010 by Wojciech Soczyński – 16 Comments

Sprawa adnotacji wywołała dość duże poruszenie na liście php.internals. Uformowały się trzy grupy dyskutantów – jedna popierająca adnotacje, druga uważająca, że jest to zupełnie nie potrzebne i komplikuje język i trzecia która stara się znaleźć kompromis.
read more »

Nowości z php.internals – adnotacje

Posted in php, programowanie on sierpień 25th, 2010 by Wojciech Soczyński – 9 Comments

W niedawnym wpisie na liście php.internals, Pierrick Charron poinformował o stworzeniu patch’a dodającego obsługę adnotacji do php. Patch ten jest napisany zgodnie z odpowiednim RFC. Rozszerza on składnie języka, dodaje obsługę do refleksji i dwie nowe klasy ‚ReflectionAnnotation’ i ‚Inherited’ – pierwsza umożliwia tworzenie własnych adnotacji, natomiast druga umożliwia dziedziczenie adnotacji przez klasy dziedziczące z jakiejś klasy.

Jak dla mnie to ciekawy dodatek do języka, natomiast ja chętnie bym również widział jakąś implementacje Pythonowych dekoratorów o których już wcześniej wspominałem. A wy co o tym sądzicie ?