Laravel 4中控制器路由的NotFoundHttpException

Laravel 4中控制器路由的NotFoundHttpException,laravel,laravel-4,Laravel,Laravel 4,我正在尝试开始使用Laravel4中的控制器,我遇到了一些麻烦。以下是基本情况: 我在文件FansController.php中的controllers文件夹中有一个名为FansController的控制器: <php class FansController extends BaseController { public $restful = true public function getindex() { return View:

我正在尝试开始使用Laravel4中的控制器,我遇到了一些麻烦。以下是基本情况:

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

<php

class FansController extends BaseController {

        public $restful = true

        public function getindex() {
        return View::make('fans.landing');
    }
}
当我访问url时:public/fans/landing

我收到一个“NotFoundHttpException”


你知道哪里出了问题吗?谢谢您的帮助。

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


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


首先,您需要指定正在运行的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-o
php composer.phar dump autoload-o
(如果您的composer安装在本地)

然而,在拉维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.';
    }
}

首先,您需要指定正在运行的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-o
php composer.phar dump autoload-o
(如果您的composer安装在本地)

然而,在拉维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.';
    }
}

但这不是“$restful”行的目的吗?我认为$restful告诉控制器在路由中调用“get”字符串时响应它。这也没有解决问题。此外,在公开/登陆时,它说FansController不存在。但很明显,在L4中,restful是默认的,所以index()是restful的,我一直在使用它,所以我很确定它是正确的。关于FansController不存在,它可能无法自动加载,请检查您的文件供应商/composer/autoload_classmap.php,它必须存在,否则Laravel将找不到它。它不是…但我正在使用的另一个控制器AccountController.php也不是,而且工作正常。文档中没有说明我需要向该文件中添加新的控制器。但是“$restful”行不就是为了这个吗?我认为$restful告诉控制器在路由中调用“get”字符串时响应它。这也没有解决问题。此外,在公开/登陆时,它说FansController不存在。但很明显,在L4中,restful是默认的,所以index()是restful的,我一直在使用它,所以我很确定它是正确的。关于FansController不存在,它可能无法自动加载,请检查您的文件供应商/composer/autoload_classmap.php,它必须存在,否则Laravel将找不到它。它不是…但我正在使用的另一个控制器AccountController.php也不是,而且工作正常。文档中没有说明我需要向该文件添加新控制器。我正在运行4。我会试试这个。好的,让我知道结果好的,它仍然不起作用,但除此之外,我不想路由到“/”,我想让它转到我指定的视图,着陆。你能给出一个解决方案吗?我还能使用:returnview::make('fans.landing')?是的,你可以。如果您在>/app/views/fans/landing.blade.phpI am running 4上有相应的文件。我会试试这个。好的,让我知道结果好的,它仍然不起作用,但除此之外,我不想路由到“/”,我想让它转到我指定的视图,着陆。你能给出一个解决方案吗?我还能使用:returnview::make('fans.landing')?是的,你可以。前提是您在>/app/views/fans/landing.blade.php上有相应的文件