обычно. Изменили сущность в домене - изменили же в домене репо и спеку.slavcodev писал(а):И еще, вот написал ты в N сервисах билдер типа этого
И поменялся у тебя домен, и нет больше "name" атрибута, есть "firstName" + "lastName", вот весело будет..Код: Выделить всё
class MyService { public function handle() { $query = new QueryBuilder(); $query->page(2, 15) ->equal(['status' => Post::STATUS_PUBLISHED]) ->sign(['date' , '>', '2015-01-01']) ->like(['name' , 'отпуск']); $posts = $repository->getPostsByQuery($query); } }
не совсем понимаю как данный метод полноценно заменит QueryObject.slavcodev писал(а): Всего-то надо было в репозиторий добавить
И в нем рулить какие поля можно делать like а по каким нет.Код: Выделить всё
public function getPostsBySearchString($q) : array;
Понимаешь, в данной теме мы уже не про теорию, а про практику, в которой в методе как минимум должна быть пагинация. Плюс, мне кажется, ты споришь с одним из вариантов предложенной реализации, в то время как я про идею QueryObject - как оно будет реализовано с практической точки зрения, я не навязываю.