【问题标题】:Using Laravel RESTfull with namespacing使用带有命名空间的 Laravel RESTfull
【发布时间】:2014-09-29 13:17:26
【问题描述】:

我有问题。我正在为我的应用程序构建一个管理面板,并且由于功能众多,我决定使用 RESTfull 路由。现在,因为我不想阻塞同一个类中的每个函数,所以我也使用命名空间并扩展我的 AdminController 类。

问题是,RESTFull 适用于 AdminController 文件中声明的函数,但它无法识别命名空间中更深层次的函数。这样做的正确方法是什么?

这是我现在的代码:

RESTfull 路由

Route::controller('admin', 'Admin\AdminController');

AdminController (/controllers/AdminController.php)

namespace Admin;
use View;

class AdminController extends \BaseController {

public function getSales() {
     echo"Works";
}

DashboardController (/controllers/admin/DashboardController.php

namespace Admin;

use AdminController;
use View;

class DashboardController extends AdminController {

public function getDashboard() {
     echo"Does not work";
}

我可以很好地访问 www.domain.com/admin/sales,但是当我访问 www.domain.com/admin/dashboard 时,它给了我一个“找不到控制器方法”错误。

【问题讨论】:

    标签: php laravel controller namespaces


    【解决方案1】:

    我认为你应该手动提供这条路线:

    Route::controller('admin/dashboard', 'Admin\DashboardController');
    

    在你的代码中,Laravel 不知道它应该使用 DashboardController 而不是 AdminController 用于 admin/dashboard 路由

    【讨论】:

      猜你喜欢
      • 2015-04-03
      • 1970-01-01
      • 2023-03-16
      • 2018-01-12
      • 1970-01-01
      • 2013-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多