Delphinum, ну как я понял, ты хочешь сразу генерировать класс и коментарии под доктрину
Delphinum, ну как я понял, ты хочешь сразу генерировать класс и коментарии под доктрину
# Koenig (03.12.2016 / 12:27)Репализации там нет, только интерфейс
AlkatraZ, обсервер же в spl готовый имеется
# Koenig (03.12.2016 / 12:52)Она сама это умеет делать. Там на борту есть нужные инструменты.
Delphinum, ну как я понял, ты хочешь сразу генерировать класс и коментарии под доктрину
Koenig, ну ты там создаешь метаданные типа "Новость", задаешь ей поля и их типы, задаешь виджеты для отображения этих полей в GUI (обычно задается автоматом на основании типа) и после можешь сам или твои посетители создавать объекты этих метаданных типа "Новость" с конкретными значениями полей.
Соль в том, что модули приходят с базовым набором метаданных и полей, а любой админ может их легко дополнить необходимыми ему полями. На пример, ты ставишь себе модуль "Загруз цент", но тебе не хватает для каждого файла поля "Автор" или "Каталог", вот как админ с такой схемой ты можешь легко добавить эти поля без необходимости менять сам модуль.
AlkatraZ, верно, на борту у доктрины есть много полезных инструментов. Да вообще в процессе разрешения зависимости доктрины ставится чуть ли не половина пакагиста ))
# Koenig (03.12.2016 / 12:52)в комментах не хочу, аннотации можно хранить в xml или yaml, так будет проще в использовании.
Delphinum, ну как я понял, ты хочешь сразу генерировать класс и коментарии под доктрину
# Delphinum (03.12.2016 / 12:39)Ну так смотри. Мы запрашиваем сущность по айди, сохраняем её в карте соответствия, затем выполняем запрос на получение той же сущности, но по другому критерию, на пример мылу.
L!MP, Ничего страшного не будет, ведь сохраняются объекты в IM по индексу их id, и поиск так же производится по этому индексу, следовательно сложность поиска O(n), что не очень страшно. Но повторюсь,
# Delphinum (03.12.2016 / 12:56)Не сказал бы...
AlkatraZ, верно, на борту у доктрины есть много полезных инструментов. Да вообще в процессе разрешения зависимости доктрины ставится чуть ли не половина пакагиста ))
# L!MP (03.12.2016 / 12:57)Повторюсь, IM нужен не для уменьшения запросов в БД, а для устранения проблем, связанных с наличием в системе двух объектов, описывающих одну и ту же сущность. Как то так:
Ну так смотри. Мы запрашиваем сущность по айди, сохраняем её в карте соответствия, затем выполняем запрос на получение той же сущности, но по другому критерию, на пример мылу.
На этапе формирования
$objA = new Obj;
$objA->setId(1);
$objB = new Obj;
$objB->setId(1);$objA->setName('foo');
$objB->setName('bar');Глядя на все эти ORM мне иногда кажется что проще самому реализовать простенький дата маппер с простыми запросами на sql и мапингом на простые POPO сущности, а всю эту абстракцию решить на уровне репозиториев.
Правда несколько сложно постоянно решать проблемы n*1 запросов. Ну и кода писать придётся больше, особенно если сравнивать со всякими active record библиотеками.