【发布时间】:2017-01-13 23:56:30
【问题描述】:
在 Laravel 中,我希望为简单的页面功能提供动态路由。
假设我有几个路由,比如/blog 将调用 BlogController 等等。我有这样的路由 /page/{slug} 调用 PageController。
如果找不到路由(例如/my-test-page),我该怎么做,系统会像路由是/page/my-test-page一样调用控制器(这样只有在PageController找不到页面时才会抛出404数据库)。
我看到我可以捕获 404 异常,但我不知道如何模拟从那里对 PageController 的路由调用?
非常感谢!
【问题讨论】:
-
为什么不直接为
PageController注册路由/{slug}? -
因为我的路由是从不同的路由文件(针对不同的模块)动态加载的,我无法确保这条路由最后注册。所以我不想,比如说,
/blog被PageController而不是BlogController赶上 -
“我不能确保这条路线最后注册” - 为什么不呢?
-
由于系统有许多模块,并且它们为系统的每个实例动态注册/启用。我想我可以硬编码,以便特定的“页面”模块最后注册它的路线,但似乎是一种 hacky 解决方案?