Php Laravel:嵌套控制器并使父控制器重定向到子控制器?

Php Laravel:嵌套控制器并使父控制器重定向到子控制器?,php,model,routes,nested-class,laravel,Php,Model,Routes,Nested Class,Laravel,这是我在拉雷维尔的第一个项目,所以和我好好玩吧 目标是创建一个CMS。每个页面都有自己的“slug”,所以如果我给一个页面命名这是一个测试,它的slug将是这是一个测试。我想通过进入example.com/this-is-a-test查看该页面 要做到这一点,我想我必须做如下事情: Route::any('(:any)', 'view@index'); 并使用索引方法创建名为View的控制器。很好,对吗 问题是创建管理区域。我将在该区域内有一些页面,一些示例是仪表板、页面、设置和工具。因为所有

这是我在拉雷维尔的第一个项目,所以和我好好玩吧

目标是创建一个CMS。每个页面都有自己的“slug”,所以如果我给一个页面命名
这是一个测试
,它的slug将是
这是一个测试
。我想通过进入
example.com/this-is-a-test
查看该页面

要做到这一点,我想我必须做如下事情:

Route::any('(:any)', 'view@index');
并使用索引方法创建名为View的控制器。很好,对吗

问题是创建管理区域。我将在该区域内有一些页面,一些示例是仪表板、页面、设置和工具。因为所有这些都是管理中的子页面,所以我认为将它们设置为嵌套控制器是合适的,对吗?唯一的问题是,当我访问
/admin
时,我想直接显示仪表板(
/admin/dashboard
)。我更喜欢只调用仪表板控制器,而不是从管理员控制器重定向到
/admin/dashboard
。可能吗

为了说明我的意思:

example.com/admin -> loads admin.dashboard
example.com/admin/dashboard -> also loads admin.dashboard
以下是我所有的路线:

Route::get('admin', array('as' => 'admin', 'use' => 'admin.dashboard@index'));
Route::get('admin/dashboard', array('as' => 'admin_dashboard', 'use' => 
Route::any('/', 'view@index'); // Also, should this be below or above the admin routes? This route will show the actual cms pages.'admin.dashboard@index'));
这是我的管理面板控制器:

class Admin_Dashboard_Controller extends Base_Controller {

    public $restful = true;    

    public function get_index()
    {
        return 'in dashboard';
    }

}

视图控制器只显示一个指向管理页面的链接,这是有效的。我就是搞不清楚管理员路线出了什么问题?当我进入
/admin
管理员/仪表板
时,我只得到一个空白页面,没有404。如果我去
admin/blah
或者只是
blabla
我会得到一个404,所以我知道有什么事情发生了,只是发生得不正确。我遗漏了什么吗?

我误解了控制器的命名约定

事情是这样的:

假设是:

controllers
    admin
        dashboard.php         Containing controller Admin_Dashboard_Controller
换句话说,我不应该在控制器文件名的开头加上“admin”。现在一切都好了

实际上,我还可以将路由代码缩小为:

Route::get(array('admin', 'admin/dashboard'), array('as' => 'admin', 'uses' => 'admin.dashboard@index'));

是否可能关闭了PHP错误报告?谢谢您的示例!以下是面向未来人士的文档:
Route::get(array('admin', 'admin/dashboard'), array('as' => 'admin', 'uses' => 'admin.dashboard@index'));