我是具有 CI 背景的 Laravel 3.x 初学者。
我非常熟悉使用控制器而不是路由,并且在尝试在 Laravel 中使用控制器时遇到了问题。
例如:假设我有 home_controller 和“关于”操作。我的问题是我只能通过设置指向它的路由来访问“关于”操作 - 我认为这是不可取的。
有没有办法在不设置路线的情况下让“关于”动作起作用?
我是具有 CI 背景的 Laravel 3.x 初学者。
我非常熟悉使用控制器而不是路由,并且在尝试在 Laravel 中使用控制器时遇到了问题。
例如:假设我有 home_controller 和“关于”操作。我的问题是我只能通过设置指向它的路由来访问“关于”操作 - 我认为这是不可取的。
有没有办法在不设置路线的情况下让“关于”动作起作用?
在 laravel 中,一切都可以使用路由和/或控制器来完成。
但是,建议同时使用路由和控制器以获得极大的灵活性。有关如何将路由与控制器组合的更多信息和一些示例,请参阅本文。
无论如何,如果您想使用控制器(这是完全可以接受的),您需要先在您的routes.php
with中注册它们,Route::controller('yourcontroller')
然后才能使用它们。
一切都必须在 Laravel 中路由。但是,您不必手动路由每种方法。你可以做一些类似的事情Route::controller('admin')
。
您必须像上面的示例一样注册所有控制器。它是每个控制器的一行代码,它是规则。但如果你有一个静态页面或登录动作(页面),一个好的做法是创建一个 Route 控制器(匿名函数),而不是经典控制器(在 controllers 文件夹中)。
我喜欢 Mike Anthony 的解决方案。当您仅使用控制器时,此检测方法就是您必须做的一切 - 这将自动注册您的所有控制器。迄今为止最好的免提解决方案。正如已经提到的那样,通常的控制器注册是:
Route::controller('controllername');