Фишки php 5.4

Ragazzo

TDD interested
fixxxer
есть примеры реальные, а не высосанные из пальца, просто для того чтобы использовать traits?
 

fixxxer

К.О.
Партнер клуба
Ragazzo
Реальные у меня пока что совсем простые.

Например, у меня есть общепринятый в фреймворке интерфейс Renderable:

public function renderTo(ViewInterface $View)

Реализация в моделях, сервисных классах и т.п., реализующих ExportableInterface, в 90% случаев сводится к

$View->assign($this->exportArray())

что прекрасно выносится в trait.

То же самое для DataSourceInterface и подобного.

Более сложный случай - структуры данных в моделях. Вынести в трейты было бы неплохо, если бы мне эти структуры нужны были отдельно. Пока обходился псевдомоделями :)
 

Ragazzo

TDD interested
fixxxer
опубликуй свой фреймворк, занятно было бы посмотреть, или свой == фреймворк с работы(нельзя сорцы показывать)? :)
 

fixxxer

К.О.
Партнер клуба
У меня оно как фреймворк полноценно не оформлено, куча форков под разные задачи, которые смерджить времени не хватает.
Ну и за некоторые места мне стыдно :D

Может, как нибудь оформлю в подобающем виде.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
да, создание трейтов для работы со структурами данных - самое интересное будущее применение, и они не будут тормозить как магические вызовы с колбеками, но делать это долго
 

fixxxer

К.О.
Партнер клуба
Наследование - это хорошо, когда базовый класс не превращается в свалку методов на все случаи жизни. Тут как раз у меня будет такой случай
 

caballero

Новичок
Наследование - это хорошо, когда базовый класс не превращается в свалку методов на все случаи жизни. Тут как раз у меня будет такой случай
если ты делаешь из кода свалку - никакие трейты не помогут
видимо надо несколько уровней наследования
 

caballero

Новичок
лучше всего трейты предназначены не для основной бизнес логики классов а для дополнительной, сторонней
какие нибудь логгеры,юнит тестеры, отсылки почты или еше чего требующее доступа к внутренностям класса
 

fixxxer

К.О.
Партнер клуба
если ты делаешь из кода свалку - никакие трейты не помогут
Как раз не делаю. Свалка бы получилась, если бы делал базовый супер-дупер класс.

видимо надо несколько уровней наследования
Вот по этому дереву копипаста и расходится - и тут как раз трейты и помогут.
 
Сверху