我想知道是否有可能减少laravel4中相同控制器的路由.
这是我的路线:
Route::get('emp/add-employee/','EmpController@addEmployee');
Route::post('emp/add-employee/','EmpController@addEmployee');
Route::get('emp/edit-employee/{id}','EmpController@editEmployee');
Route::post('emp/edit-employee/{id}','EmpController@editEmployee');
Route::get('emp/view-employee/{id}','EmpController@viewEmployee');
Run Code Online (Sandbox Code Playgroud)
有什么可以减少......?
您的路由操作看起来就像您在RESTful资源控制器中找到的那些.所以你可以使用这个:
Route::resource('emp', 'EmpController', array('only' => array('create', 'store', 'edit', 'update', 'show')));
Run Code Online (Sandbox Code Playgroud)
这当然要求您相应地重命名控制器方法,并且路径路径将略有不同,但您将拥有更紧凑的路由定义和一致的命名.以下是Route::resource上面定义生成的路由.
+-----------------------------+---------------+-------------------------+
| GET emp/create | emp.create | EmpController@create |
| POST emp | emp.store | EmpController@store |
| GET emp/{id} | emp.show | EmpController@show |
| GET emp/{id}/edit | emp.edit | EmpController@edit |
| PUT emp/{id} | emp.update | EmpController@update |
+-----------------------------+---------------+-------------------------+
Run Code Online (Sandbox Code Playgroud)
所以你必须重命名控制器方法名称,如下所示:
GET : addEmployee() -> create() // shows the add form
POST: addEmployee() -> store() // processes the add form when submitted
GET : editEmployee() -> edit() // shows the edit form
POST: editEmployee() -> update() // processes the edit form when submitted
GET : viewEmployee() -> show()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
92 次 |
| 最近记录: |