Lea*_*lla 5 php laravel laravel-3
我来自CodeIgniter到Laravel.
那么,使用自动路由到所有控制器是一个坏主意吗?
Route::controller(Controller::detect());
Run Code Online (Sandbox Code Playgroud)
我应该使用它而不是在routes.php中创建路由吗?
Dei*_*ite 10
是的,这很糟糕.
Laravel 4中实际上不存在Controller :: detect()因为它有点坏了.
detect()将通过您的文件系统并返回控制器文件,但这是一个坏主意,因为您定义路由的顺序很重要.如果您有任何嵌套控制器,您会很容易发现这种情况.
detect()还将根据文件系统以不同的顺序返回文件,因此这会导致很多不可预测性.
我认为你应该以任何方式定义所有路由,它更容易阅读和调试.
CI没有的关于Laravel的一个有趣的事情是,对于某些页面,您可以直接路由到视图而根本不需要控制器.想想像"关于我们"这样的静态页面.CodeIgniter需要你为它设置一个控制器+视图,即使控制器几乎没有做任何事情.对于Laravel,在这种情况下,您可以直接路由到视图.
手动设置路径将允许您设置这些短路路线.