Autor wpisu: batman, dodany: 05.08.2010 08:19, tagi: php
Piąta odsłona PHP dała programistom możliwość tworzenia przeciążonych właściwości oraz metod. Mimo iż funkcjonalność ta jest bardzo pomocna, to w przypadku naszpikowania klas metodami __set, __get, czy __call, tracimy możliwość szybkiego pisania kodu. Nasze IDE nie podpowie nam składni, ponieważ nie wie co ma podpowiedzieć. Czy przez wymienione wyżej metody skazani jesteśmy na nieustanne wertowanie dokumentacji? Nie. Dzięki PHPDoc mamy możliwość wskazania jakie właściwości i metody są przeciążane. Oto przykład:
/** * @property string $tekst * @property int $liczba * @property array $tablica * @method int someMethod() * @method string anotherMethod() */ class SomeClass { protected $_data = array(); public function __set($name, $value) { $this->_data[$name] = $value; } public function __get($name) { return $this->_data[$name]; } public function __call($method, $args = array()) { } }
Podpowiadanie składni dla powyższej klasy będzie wyglądać nastęująco.
Rozwiązanie to ma jedną wadę. Nie jest podpowiadany typ właściwości oraz nie można określić jakie argumenty przyjmują przeciążane metody.