Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel资源控制器缺少方法_Php_Laravel_Laravel 4 - Fatal编程技术网

Php Laravel资源控制器缺少方法

Php Laravel资源控制器缺少方法,php,laravel,laravel-4,Php,Laravel,Laravel 4,我有一个laravel资源控制器,如下所示: BlogController.php class AdminBlogController extends BaseController { public function index() { // some code } public function create() { // some code } //等等 在route.php中,我有以下内容: Route::resource('blog', 'AdminBlogControll

我有一个laravel资源控制器,如下所示:

BlogController.php

class AdminBlogController extends BaseController {

public function index()
{
  // some code
}
public function create()
{
 // some code
}
//等等

在route.php中,我有以下内容:

  Route::resource('blog', 'AdminBlogController');
现在我明白了,当您转到URL/blog时,它会转到index(),当您转到/blog/create时,它会转到create()方法

我的问题是如何处理缺少的方法?例如,当某些类型/blog/test出现错误时,如何将缺少的方法重定向回/blog

感谢

摘自:

如果您使用的是资源控制器,那么应该定义一个_调用 控制器上的magic方法来处理任何缺少的方法


在AdminBlogController中,添加一个
\u调用
魔术方法:

public function __call($method,$parameters = array())
{
    if (!is_numeric($parameters[0])) {
        return Redirect::to('blog');
    }
    else {
        $this->myShow($parameters[0]);
    }
}
…而且,重要的是,您需要将
show
方法重命名为其他方法(
myShow
)。否则,
/blog/test
将路由到
show
,期望
test
是您要显示的博客的id。您还需要在
\u调用
方法中指定
blog/
之后的哪些参数应被视为ID,哪些应被视为缺少的方法。在本例中,我允许将任何数值参数视为ID,而非数值参数将重定向到索引