+7 495 221–18–77   +7 968 641–28–15

Обратный звонок

Жду звонка

Примеры допустимых форматов: +79261234567   (495)1234567   89261234567   123-45-67   8(926)123-45-67

Наш специалист свяжется с вами в крaтчайшие сроки

Спасибо, в ближайшее время с вами свяжутся по тел.:

Traits в php 5.4. Разбираем детали реализации

19.04.2012

Traits в php 5.4. Разбираем детали реализации

Совсем недавно вышла первая beta php 5.4, а пока я писал топик подоспела и вторая. Одно из нововведений в 5.4 — это traits (типажи). Предлагаю разобраться во всех деталях в том, что же типажи из себя представляют в php.

Простой пример типажа, чтобы не заглядывать в Википедею:

//определение типажа
 
trait Pprint
 
{
 
     public function whoAmI()
 
     {
 
     return get_class($this) . ': ' . (string) $this;
 
     }
 
}
 
 
 
class Human
 
{
 
     use Pprint; //подключаем типаж, ключевое слово use
 
 
 
     protected $_name = 'unknown';
 
 
 
     public function __construct($name)
 
     {
 
             $this->_name = $name;
 
 
 
     }
 
 
 
     public function __toString()
 
     {
 
          return (string) $this->_name;
 
     }
 
}
 
 
 
$a = new Human('Nikita');
 
echo $a->whoAmI(), PHP_EOL; //=> Human: Nikita

 

Как видно, к классу Human было добавлено поведение из типажа Pprint.

Но во всём есть свои детали.

О них далее.

Ещё статьи по теме:


blog comments powered by Disqus

Нашли ошибку?

Отправить
Спасибо, в ближайшее время с вами свяжутся по тел.:
Наверх