Laravel 4中控制器路由的NotFoundHttpException

时间:2013-06-14 17:57:02

标签: laravel laravel-4

我正在尝试使用Laravel 4中的控制器,我遇到了一些麻烦。这是基本的运行:

我在控制器文件夹中有一个名为FansController的控制器,位于文件FansController.php中:

<php

class FansController extends BaseController {

        public $restful = true

        public function getindex() {
        return View::make('fans.landing');
    }
}

在我的views文件夹中,我有一个名为“fans”的文件夹,用于控制视图文件“landing.blade.php”。它包含简单的html:<h1>hello</h1>

在我的routes.php文件中,我有一个调用控制器的路由。这是代码:

Route::get('landing', array('uses' => 'FansController@index'));

当我访问网址时:public / fans / landing

我收到“NotFoundHttpException”;

你有什么想法可能会出错吗?谢谢你的帮助。

2 个答案:

答案 0 :(得分:4)

首先,您需要指定正在运行的Laravel版本。

如果您正在运行Laravel 4,那么:

// routes.php
Route::get('/', array('uses' => 'GuestController@getIndex'));

// GuestController.php
class GuestController extends BaseController {
    public function getIndex() {
         return 'Hello world.';
    }
}

然后在CLI上运行$ composer dump-autoload -ophp composer.phar dump-autoload -o(如果你的作曲家在本地安装)

然而,在laravel 3中

// routes.php
Route::get('/', array('uses' => 'GuestController@index'));

// GuestController.php
class GuestController extends BaseController {
    public $restful = true;
    public function get_index() {
         return 'Hello world.';
    }
}

答案 1 :(得分:0)

您可能需要将方法名称更改为索引:

class FansController extends BaseController {

    public $restful = true

    public function index() {
        return View::make('fans.landing');
    }

}