【问题标题】:Laravel - Auto detecting ControllersLaravel - 自动检测控制器
【发布时间】:2013-04-15 15:53:32
【问题描述】:

对 Laravel 还很陌生,我对路由的工作原理有点困惑。

在 FuelPHP 中我习惯使用文件结构来定义路由。

例如我有 admin/clients/add,我会为此使用一个 Admin_Clients 类(和一个方法 action_add)等等。

使用 Controller::detect() 注册了 admin.clients 类,但在解决它时,它选择了 Admin_Controller 类,除非我定义了我想要避免的每条路由。

如果有人可以帮助我,将不胜感激。

Laravel 与 3.2

【问题讨论】:

    标签: laravel laravel-3


    【解决方案1】:

    在 Laravel 中有一个命名约定很重要,尤其是对于控制器。

    在您的情况下,将 Admin_Clients 重命名为 AdminClients_Controller 可能会更好。

    然后,我会限制使用Controller::detect(),并显式创建到每个控制器的路由,如下所示:

    Route::controller('AdminClients');
    

    从现在开始,AdminClients_Controller 方法的访问将按以下方式工作:

    http://localhost/controller/method/arguments
    

    关于路由在 Laravel 中如何工作的进一步解释,请参考:

    http://laravel.com/docs/routing#the-basics

    【讨论】:

    • 还需要注意的是Route::controller() 需要一个控制器数组。例如,Route::controller(['home', 'admin', 'admin.users']);
    猜你喜欢
    • 2015-03-12
    • 2018-03-19
    • 1970-01-01
    • 2016-12-30
    • 2020-08-12
    • 2018-03-09
    • 2013-05-12
    • 1970-01-01
    • 2012-01-29
    相关资源
    最近更新 更多