tzo*_*zik 3 php routing laravel laravel-4
我正在尝试在Laravel中为我的控制器创建一个资源路径,该控制器位于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');
}
}
Run Code Online (Sandbox Code Playgroud)
如果我删除命名空间,它的工作原理.
结果:
ReflectionException (-1)
Class app\controllers\FormController does not exist
Run Code Online (Sandbox Code Playgroud)
app/controllers默认加载.但如果您使用不同的命名空间,则可以使用它.
例如,命名空间Site;
Route::resource('form', '\Site\FormController');
Run Code Online (Sandbox Code Playgroud)
还有另一种方式.
假设同一命名空间中有不同的控制器.例如FormController,'BlogController`.你可以把它分组.
Route::group(['namespace' => 'Site'], function()
{
Route::resource('form', 'FormController');
Route::resource('blog', 'BlogController');
});
Run Code Online (Sandbox Code Playgroud)
更新#1:
Route::resource('form', 'FormController');
Run Code Online (Sandbox Code Playgroud)
您不需要使用任何命名空间.
您可以执行以下操作:
Router::resource('form', 'FormController');
Run Code Online (Sandbox Code Playgroud)
所有课程app/controllers/都由Laravel自动加载.
更新:
您需要将索引功能更改为getIndex().如果使用资源路由,则每个函数都必须以请求方法开头.
| 归档时间: |
|
| 查看次数: |
4089 次 |
| 最近记录: |