繁体   English   中英

Laravel 4-RESTful控制器中的命名路由

[英]Laravel 4 - Named Routes in RESTful Controllers

我正在尝试与RESTful控制器一起定义命名路由。 在我的routes.php中,我有这个:

Route::controller('blog', 'BlogController', array('getIndex' => 'home'));
Route::controller('login', 'LoginController');

以及BlogController中的方法:

public function getIndex()
{      
    return View::make('blog.home');
}

当我尝试访问/ home时,我收到NotFoundHttpException ,所有其他路由都按预期工作。

这不行吗? 我在这篇文章中找到了Route :: controller()的第三个参数。

“路由名称”是内部的。

引用提到的帖子 :“您可以将方法名称及其对应的路由名称的数组作为第三个参数传递给Route::controller ” ...

因此,您的数组将getIndex方法附加到home 路由名称 但是,“路线名称”是应用程序内部的一件事,而不是您尝试使用它时可从外部访问的URL。

您可以使用以下方式将URL附加到命名路由:

Route::get('home', array('as' => 'home'));

在这种情况下,第一个“ home”是URL部分,而第二个“ home”是路由名称(您将其附加到“ getIndex”方法上)。 参见http://laravel.com/docs/routing#named-routes

使用命名的路线,我们可以为路线使用标识符(例如,名称“仪表板”),但是稍后,我们可以随时通过任何URL对其进行访问,而无需进行全局搜索并在整个过程中替换整个应用程序代码。 我们可以将“ main”或“ home” URL路径附加到名为“ route ...”的“ dashboard”上。因此……“该路由名称是内部的”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM