我们在利用laravel框架去做相对页面和功能比较多的时候,会创造如果仅仅利用laravel根本的利用方法,会造成我们网站的开拓难度和代码利用会非常麻烦,比如:
页面比较多,相应的路由准备比较多(根本路由的设置,单要求办法,单要求方法)
/

Article add,del,index,update
/
Route::get('article/add','ArticleController@add');
Route::post('article/add','ArticleController@addPost');
Route::get('article/index','ArticleController@index');
Route::get('article/del/{id}','ArticleController@del');
Route::matche(['get',post],'article/up/{id}','ArticleController@up');
```
比如这样的增删该查,基本上每个页面都会有这么多功能,难道我们要每个页面都用这么根本的路由么,这样利用是不会去世很麻烦呢?以是,下面我们来一起学习下laravel给我们准备好的针对这种问题的办理办法
1,隐式掌握器
Laravel 让你能够轻易地通过定义单个路由来处理掌握器类中的各种行为。首先,利用 Route::controller 方法来定义路由。controller 方法接管两个参数。第一个参数是掌握器所处理的基本 URI,第二个是掌握器的类名称:
如利用方法,利用隐式掌握器来来书写上述article的增编削查:
//首先定义隐式掌握器路由 app\routes.php
Route::controller('article','ArticleController');
//然后在ArticleController中定义方法
/
get 要求 article/add 浏览器中实行http://yourdomain/article/add即可
/
public function getAdd(){
}
/
post 要求 article/add 提交实行http://yourdomain/article/add即可
/
public function postAdd(){
}
/
get 要求 article/index 浏览器中实行http://yourdomain/article即可
/
public function getIndex(){
}
/
get 要求 article/del/{id} 浏览器中实行http://yourdomain/article/del/1即可
/
public function getDel($id){
}
/
get 要求 article/up 浏览器中实行http://yourdomain/article/up/1即可
/
public function getUp($id){
}
/
post 要求 article/up/{$id} 浏览器中实行http://yourdomain/article/up/1即可
/
public function postUp($id){
}
看到隐式掌握器的这样用法后与根本路由的利用相比拟,我只是声明好一个隐式掌握器的路由,相应的其他内容直接是在方法中去定义,这样如果在网站的页面比较多的情形下利用这种方法去处理会更加的方便!
2,资源掌握器
比较如隐式掌握器也是创建好一条路由只不过利用的方法会更大略
资源掌握器让你可以轻松地创建与资源干系的 RESTful 掌握器。例如,你可能想要创建一个用来处理运用程序保存「文章」时发送 HTTP 要求的掌握器。利用 make:controller Artisan 命令,我们可以快速地创建一个像这样的掌握器:
php artisan make:controller ArticleController
此 Artisan 命令会天生 app/Http/Controllers/Article/Controller.php 掌握器文件。此掌握器会包含用来操作可获取到的各种资源的方法,如:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class ArticleController extends Controller
{
/
Display a listing of the resource.
@return \Illuminate\Http\Response
/
public function index()
{
//
}
/
Show the form for creating a new resource.
@return \Illuminate\Http\Response
/
public function create()
{
//
}
/
Store a newly created resource in storage.
@param \Illuminate\Http\Request $request
@return \Illuminate\Http\Response
/
public function store(Request $request)
{
//
}
/
Display the specified resource.
@param int $id
@return \Illuminate\Http\Response
/
public function show($id)
{
//
}
/
Show the form for editing the specified resource.
@param int $id
@return \Illuminate\Http\Response
/
public function edit($id)
{
//
}
/
Update the specified resource in storage.
@param \Illuminate\Http\Request $request
@param int $id
@return \Illuminate\Http\Response
/
public function update(Request $request, $id)
{
//
}
/
Remove the specified resource from storage.
@param int $id
@return \Illuminate\Http\Response
/
public function destroy($id)
{
//
}
}
然后准备资源掌握器路由
Route::resource('article','ArticleController');
可能会有同学有疑问,做完这些就完事了?是的,但是怎么去相应我们的方法呢?
这一条路由声明会创建多个路由,用来处理各式各样和相片资源干系的的 RESTful 行为。同样地,天生的掌握器有着各种和这些行为绑定的方法,包含要处理的 URI 及方法对应的注释。
你可以在命令行下运行
php artisan route:list
你会创造会多出很多路由,并且每条路由和我们天生的掌握器中的方法相对应,如:欢迎大家来学习,并且相比拟,利用的有效性