【问题标题】:ZF3 route with access to db可访问 db 的 ZF3 路由
【发布时间】:2017-08-10 19:36:57
【问题描述】:

我是 zend 框架 3 的新手,我正在尝试创建一个新的路由类型,可以在数据库中搜索以匹配路由路径。我正在使用学说 orm,不幸的是我不知道如何在路由类中注入实体管理器。

我尝试为路由定义一个工厂类以访问服务管理器,但这不起作用,因为路由类必须实现 Zend\Router\Http\RouteInterface 声明路由类必须包含它自己定义的工厂作为“函数工厂($options)”。

有人可以帮忙吗?

非常感谢。

【问题讨论】:

    标签: php zend-framework3 zend-router


    【解决方案1】:

    在您提出问题的方式中,您必须根据zend-router 的接口和抽象来编写自定义路由器策略。 例如。 ZF 支持不同的router strategies 来匹配 URL(就像在任何现代框架中一样),但是您需要编写自定义路由器策略来访问数据库并返回应该执行的控制器/动作。

    说实话,如果您是 ZF3 的新手,可能会尝试用稍微不那么高级的方式来解决问题。

    其他解决方案,也许你可以创建动态路由器并传递 URL_SLUG。 然后您将执行一项操作,您将通过 URL_SLUG(或您选择的任何其他 ID)检查应从数据库加载的内容。

    【讨论】:

    • 感谢您的回复,抱歉回复晚了。我需要路由器中的数据库连接的原因是出于 SEO 目的,客户端希望完全控制路由 url。我试图覆盖路由器类,但我无法使其工作。我愿意尝试自定义策略,但我没有找到任何关于如何做到这一点的文档。你能帮我一些链接或一些代码sn-ps吗?非常感谢。
    猜你喜欢
    • 2023-01-27
    • 1970-01-01
    • 2022-06-21
    • 1970-01-01
    • 1970-01-01
    • 2018-11-20
    • 2017-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多