Ste*_*aya 6 php rest laravel laravel-4
我在http://codebright.daylerees.com/上关注Laravel 4教程.
在codebright.daylerees.com/controllers中,您可以看到RESTful Controllers教程
我到达了高级路由教程codebright.daylerees.com/advanced-routing.
有一个示例代码可以使用Route :: get和命名路由.然后我尝试使用Route :: controller来创建具有命名路由的RESTful URI.然后,我尝试将此代码编写为routes.php:
Route::controller('my/very/long/article/route2', array(
'as'=>'article2',
'uses'=>'Blog\Controller\Article'
));
Run Code Online (Sandbox Code Playgroud)
这是我的controller/Article.php代码:
<?php
namespace Blog\Controller;
use View;
use BaseController;
class Article extends BaseController
{
public function getCreate()
{
return View::make('create');
}
public function postCreate()
{
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试访问我的/ very/long/article/route2/create时,它显示错误
ErrorException
Array to string conversion
…\vendor\laravel\framework\src\Illuminate\Routing\Controllers\Inspector.php
Run Code Online (Sandbox Code Playgroud)
知道如何使用RESTful实现到控制器的命名路由吗?
Route :: controller方法接受三个参数.第三个参数是可选的,它正是您所需要的.只需将动作名称的映射传递给命名路由作为第三个参数.
代码示例:
Route::controller(
'my/very/long/article/route2',
'Blog\Controller\Article',
array(
'getCreate' => 'article.create',
'postCreate' => 'article.create.post'
)
);
// now you can use route('article.create.post') to get URL of Article::postCreate action
// and route('article.create') to get URL of Article::getCreate action
Run Code Online (Sandbox Code Playgroud)
是的,它看起来有点过于复杂,但仍然比每个动作的单独路线更好.
此解决方案适用于Laravel 4.1(未在其他版本中测试).
dev*_*evo -2
控制器方法接受两个参数。第一个是控制器处理的基本 URI,第二个是控制器的类名。喜欢,
Route::controller('my/very/long/article/route2', 'BlogController');
Run Code Online (Sandbox Code Playgroud)
要使用 RESTful API,请参阅我的另一篇文章Laravel 4 REST 的路由参数
| 归档时间: |
|
| 查看次数: |
2860 次 |
| 最近记录: |