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