ReflectionException类App \ Http \ Controllers \ StaticPagesController @ faq不存在Laravel-5

时间:2015-10-14 15:21:32

标签: php github laravel-5

我从Github克隆了这个todstoychev/Laravel5Starter并安装了它。

创建此StaticPagesController控制器并更新我的routes.php文件后。控制器似乎不起作用。出于某种原因,我不断收到以下错误。

ReflectionException in ControllerInspector.php line 32:
Class App\Http\Controllers\StaticPagesController@faq does not exist

我的routes.php文件

<?php

// Admin routes
Route::group(['prefix' => 'admin', 'namespace' => 'Admin'], function () {
    Route::controller('permissions', 'AdminPermissionsController');

    Route::controller('settings', 'AdminSettingsController');

    Route::controller('roles', 'AdminRolesController');

    Route::controller('users', 'AdminUsersController');

    Route::controller('/', 'AdminController');
});

// Public and user routes
Route::controller('contacts', 'ContactsController');

Route::controller('users', 'UsersController');

Route::controller('/', 'IndexController');

Route::controller('faq', 'StaticPagesController@faq');

我的StaticPagesController.php文件

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class StaticPagesController extends Controller
{
    public function faq(){
        return 'this is faq page';
    }
}

我已尝试composer updatephp artisan acl:updatecomposer dumpautoload无济于事。

请帮帮我。感谢

1 个答案:

答案 0 :(得分:0)

这一行:

Route::controller('faq', 'StaticPagesController@faq');

你告诉Laravel faq的控制器应该是StaticPagesController@faqRoute::controller方法为路由设置整个控制器,它没有指定在该路由上使用的方法,Laravel在内部处理它。看看你的错误来证明我的观点:

Class App\Http\Controllers\StaticPagesController@faq does not exist

正在寻找班级StaticPagesController@faq而不是StaticPagesController

除非您使用REST构建API,否则不应使用controller方法,而是明确指定路由,即

Route::get('faq', 'StaticPagesController@faq');

当用户向URI faq发出GET请求时,这将在您的控制器上使用faq方法。如果你坚持使用controller方法,那么从第二个参数中移除@faq你会很好,虽然我很确定Laravel期望方法索引,显示,创建等以在您的控制器中。我建议您查看Laravel 5 Fundamentals视频课程,以帮助您更好地理解。