Маршрут ZF3 с доступом к БД

Я новичок в Zend Framework 3 и пытаюсь создать новый тип маршрута, который может выполнять поиск в базе данных в соответствии с путем маршрута. Я использую форму доктрины и, к сожалению, не знаю, как внедрить диспетчер сущностей в класс маршрута.

Я попытался определить фабричный класс для маршрута, чтобы иметь доступ к диспетчеру служб, но это не сработало, потому что классы маршрутов должны реализовывать Zend\Router\Http\RouteInterface, в котором говорится, что класс маршрута должен содержать свою собственную фабрику, определенную как «функция». завод($параметры)".

Кто-нибудь может помочь?

Большое спасибо.


person Calin    schedule 10.08.2017    source источник


Ответы (1)


В том, как вы задаете вопрос, вы должны написать свою собственную стратегию маршрутизатора, полагаясь на zend-router. интерфейсы и абстракции. Например. ZF поддерживает различные стратегии маршрутизатора для соответствия URL-адресу (например, любая современная структура), но вам нужно написать собственную стратегию маршрутизатора для доступа к БД и вернуть, какой контроллер/действие должно быть выполнено.

Честно говоря, если вы новичок в ZF3, возможно, попробуйте решить проблему менее продвинутым способом.

Другое решение, возможно, вы можете создать динамический маршрутизатор и передать URL_SLUG. Затем у вас будет одно действие, где вы будете проверять, какой контент вы должны загрузить из БД по URL_SLUG (или любому другому выбранному вами идентификатору).

person tasmaniski    schedule 14.08.2017
comment
Спасибо за ответ и извините за поздний ответ. Причина, по которой мне нужно подключение к базе данных в маршрутизаторе, заключается в том, что в целях SEO клиент хочет получить полный контроль над URL-адресом маршрута. Я попытался перезаписать класс маршрутизатора, но не смог заставить его работать. Я готов попробовать собственную стратегию, но не нашел документации о том, как это сделать. Не могли бы вы помочь мне с некоторыми ссылками или фрагментами кода? Большое спасибо. - person Calin; 25.08.2017