Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Socialable и забыть. Понятно, что не везде так, к сожалению, можноclass Book implements Column\IdInterface, Column\NameInterface, Column\PriceInterface, Column\DescriptionInterface, Column\CreatedDateInterface
{
use Column\Id;
use Column\Name;
use Column\Price;
use Column\Description;
use Column\CreatedDate;
}
getIntance интерфейса SingletonInterface. Там где вы думаете что неплохо бы использовать trait и если это не предполагает интерфейса, в 99% случаев предпочтительнее использовать делегирование.class RssReaderService
{
public function setHttpClient(HttpClient $client) {}
public function getHttpClient() {}
}
Используем трейты с пользой