@nepster09 нет, тут пожалуй лучше старые добрые сервисы. Вообще модуль "блог" не связан с "сообщениями", модуль пользователей - возможно, но сервисы будут лучше.
Так же дополню @KorsaR-ZN, трейты хороший инструмент для рефакторинга, избавления от лишних статических вызовов, зависимостей и т.д. Помогают развязать код при умелом использовании. Единственное в чем я не согласен - множественное наследование на трейтах лучше не пытаться делать. Это больше макросы нежели какой-то механизм наследования. По сути там где вы пишите use TraitName просто вставляется содержимое трейта.
@nepster09 это просто синтаксический сахар, упрощение. Как вы можете заметить, наша реализация класса, реализующая два интерфейса, вообще не содержит реализации методов интерфейсов. Вместо этого у нас есть трейт, проксирующий вызовы методов в интанс нужного инетфейса. Смысл в этом только тогда, когда трейт предоставляется разработчиком библиотеки, предоставляющей интерфейс.
Скажем в Silex трейтами импортируют функции в класс приложения без необходимости расширять класс. В трейтах же идет просто вызов методов из компонентов, взятых в контейнере. Можно обойтись и без этого, просто использовать компоненты на прямую, но чуть чуть код становится приятнее.
Я лично трейты не особо часто использую. Их можно использовать в контроллерах например для того что бы не загонять какие-то общие вещи, уменьшающие количество кода в базовый класс.
@Itvanya 8 часов работы + обед, как у всех. Просто + еще один день. У вас каждый день остается еще 15 часов, пускай 8 часов на сон, еще 3 на всякие радости жизни и остается 4 полноценных часа в день на самообразование. Как по мне времени предостаточно.
@Zohei в том то и проблема что active record это слой работы с базой данных. Вообще можно и на AR делать все, просто тогда модель будет анемичной.
вообще в сети массы разговоров на этот счет. Если бы кто написал какую статью в контексте PHP именно было бы найс. Есть примеры под RoR - можно там чего интересного подчерпнуть.
@Quber это одно и тоже. Просто так сложилось что APC это опкод кешер + юзер кеш. С версии php5.5 появился встроенный на уровне ядра кешер opcache который оказался эффективнее apc и было решено забить на последний. Однако opcache не реализовывал юзер кэш и решили выделить из apc новый экстеншен который только его и реализует и назвали его apcu.
То есть на php5.5+ - opcache + apcu. До 5,5 - apc.