使用带有命名空间的Laravel RESTful

时间:2014-08-06 14:35:23

标签: php laravel controller namespaces

我有问题。我正在为我的应用程序构建一个管理面板,并且由于许多功能,我决定使用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时,它会给我一个"未找到的控制器方法"错误。

1 个答案:

答案 0 :(得分:0)

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

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

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