laravel5中间件的使用例子
来源:互联网 发布:mac自带抠图 编辑:程序博客网 时间:2024/05/16 19:56
首先创建2个中间件,可以使用命令
php artisan make:middleware BeforeUserMiddleware
php artisan make:middleware AfterUserMiddleware
执行这2条命令之后在文件夹app\Http\Middleware下面就会出现定义的中间件类。
这2个中间件名字比较明显一个是在动作之前一个是在动作之后,写里面的动作事件。
AfterUserMiddleware.php如下:
<?php
namespace App\Http\Middleware;
use Closure;
class AfterUserMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if($request->input('name') != 'gaoxuxu'){
echo '帐号输入错误';
echo '<a href="addUser">点击返回</a>';
exit;
}
return $next($request);
}
}
BeforeUserMiddleware.php如下:
<?php
namespace App\Http\Middleware;
use Closure;
class BeforeUserMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if($request->input('age') <=20){
echo '年龄不能小于20';
echo '<a href="addUser">点击返回</a>';
exit;
}
return $next($request);
}
}
在Kernel.php中注册中间件:protected $routeMiddleware = ['auth' => \App\Http\Middleware\Authenticate::class,'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,//加入定义的中间件'checkuser'=>\App\Http\Middleware\BeforeUserMiddleware::class,'dealuser'=>\App\Http\Middleware\AfterUserMiddleware::class,//结束'role' => Zizaco\Entrust\Middleware\EntrustRole::class,'permission' => Zizaco\Entrust\Middleware\EntrustPermission::class,'ability' => Zizaco\Entrust\Middleware\EntrustAbility::class,];创建一个控制器UserController.php
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
/**
* 控制器
*/
class UserController extends Controller{
public function getAdduser(){
return view('show.adduser');
}
public function postAdduser(Request $request){
return \Response::json(['age'=>$request->input('age'),'name'=>$request->input('name')]);
}
}
创建一个view视图:在resources文件夹下面views里面创建一个show文件夹建立简单的视图add.blade.php:
<!DOCTYPE html>
<html>
<head>
<title>测试中间件</title>
</head>
<body>
<form action="addUser" method="post">
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
帐号:<input type="text" name="name" value="{{old('name')}}"/><br>
年龄:<input type="text" name="age" value="{{old('age')}}"/>
<input type="submit" value="提交" />
</form>
</body>
</html>
最后定义访问的路由:
Route::get('user/addUser','UserController@getAddUser');
//这个控制器直接在根目录下面,如果定义的控制器又加了一层文件夹的话可以使用namespace进行控制 Route::group(['namespace'=>'xxxxx','middleware'=>['checkuser','dealuser']]);
Route::group(['middleware'=>['checkuser','dealuser']],function(){
Route::post('user/addUser','UserController@postAdduser');
});
1 0
- laravel5中间件的使用例子
- Laravel5.3使用学习笔记---中间件
- laravel5使用中间件时ErrorException in Route.php line 194
- [laravel5.1学习]单个路由的中间件引用
- Laravel5.1注册中间件的三种场景
- Laravel5.2版本后更新的中间件组部分
- ICE 中间件 例子程序使用
- laravel5.2session的使用
- Laravel5中Cookie的使用
- Laravel5中Cookie的使用
- 中间件技术ActiveMQ消息中间件的使用
- laravel5.2中session的使用
- laravel5.1基础路由的使用
- laravel5中ueditor的安装和使用
- Spring+JMS+使用JMS+ActiveMQ中间件+实现简单聊天功能的小例子
- Laravel5.5源码详解 -- 中间件MiddleWare分析
- Laravel5.5源码详解 -- 一次查询的详细执行:从Auth-Login-web中间件到数据库查询结果的全过程
- laravel5 中使用excel
- 第1章第2节练习题10 查找指定倒数结点
- fragment调用方法isadded()、isvisible()
- Android studio AIDL详解
- CSS Media Query
- 广搜与优先队列-----POJ2312
- laravel5中间件的使用例子
- MessageUI(发送短信)
- 嵌入式启动定时任务代码
- 实体类中创建数据表中不存在的字段
- mysql登陆问题
- 让PHP7达到最高性能的几个Tips
- 将博客搬至CSDN
- 网址纪录
- android自动弹出软键盘(输入键盘)