我正在尝试在 Laravel 中为我的 Controller 在 app\controllers\FormController 中创建一个资源路由。我怎样才能做到这一点?我尝试了以下方法,但均无效。
Router::resource('form', 'app\controllers\FormController');
Router::resource('form', 'app\\controllers\\FormController');
Router::resource('form', 'app/controllers/FormController');
namespace app\controllers;
class FormController extends BaseController {
public function index()
{
return View::make('hello');
}
}
如果我删除命名空间,它会起作用。
结果:
ReflectionException (-1)
Class app\controllers\FormController does not exist
最佳答案
app/controllers
默认加载。但如果您使用不同的 namespace ,则可以使用它。
例如命名空间是 Site
;
Route::resource('form', '\Site\FormController');
还有另一种方式。
假设在同一个命名空间中有不同的 Controller 。例如FormController
,“BlogController”。你可以分组它。
Route::group(['namespace' => 'Site'], function()
{
Route::resource('form', 'FormController');
Route::resource('blog', 'BlogController');
});
更新#1:
Route::resource('form', 'FormController');
您不需要使用任何命名空间。
关于php - 具有命名空间的 laravel 路由资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26968780/