日韩精品欧美激情国产一区_中文无码精品一区二区三区在线_岛国毛片AV在线无码不卡_亞洲歐美日韓精品在線_使劲操好爽好粗视频在线播放_日韩一区欧美二区_八戒八戒网影院在线观看神马_亚洲怡红院在线色网_av无码不卡亚洲电影_国产麻豆媒体MDX

LARAVEL5里中間件的應(yīng)用

時(shí)間:2017-03-23 15:58:05 類型:PHP
字號(hào):    

Laravel5中間件, 顧名思義, 可以理解為 中間的那個(gè)類,  那么中間是什么意思呢?

我們從輸入U(xiǎn)RL開(kāi)始就對(duì)網(wǎng)站進(jìn)行請(qǐng)求了, 這里剛進(jìn)來(lái)就是 開(kāi)始, 到最后 我們的目標(biāo)出現(xiàn), 就是結(jié)束, 那么 開(kāi)始 與 結(jié)束中間 就是 中間件 出現(xiàn)的地方, 那么在這中間我們可以干什么呢?比如, 看看你是否登陸, 看看你是否通過(guò)是 跨站 請(qǐng)求, 你輸入的信息是否 符合要求等

Laravel5中中間件的應(yīng)用, 和早期的鉤子, TP5中的行為都是一個(gè)意思, 先前有寫(xiě)過(guò)TP5中行為的應(yīng)用實(shí)例, 這里一個(gè)小例子說(shuō)明下Laravel5中中間件的簡(jiǎn)單用法.

一. 生成一個(gè)中間件 php artisan make:middle CheckAge?。凵梢粋€(gè)檢查請(qǐng)求年齡的 中間件 位置:App\Http\Middleware]

namespace App\Http\Middleware;
use Closure;
class CheckAge
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if ($request->input('age') >= 150) {
           echo "乖乖, 有這么大的歲數(shù)的嗎?再說(shuō), 我總是18歲喲";
        }
        return $next($request);   
       //這上面的代碼是我們自己定義的
    }
}

二. 中間件的調(diào)用

       方法一:  routes/web.php


     use App\Http\Middleware\CheckAge;
     Route::post("news/store",'News@store')->middleware(CheckAge::class);

       方法二: App\Http\Kernel.php [注冊(cè)中間件, 在使用時(shí)可以直接調(diào)用]

                1> 將類 放到 $middleware數(shù)組中\(zhòng)App\Http\Middleware\CheckAge::class[全局自動(dòng)調(diào)用]

                2> 將類放到$middlewareGroups中的WEB中 [路由WEB中直接自動(dòng)調(diào)用]

                3> 放到 $routeMiddleware 中 路由調(diào)用 鍵名

                   'CheckAge' => \App\Http\Middleware\CheckAge::class,

                    調(diào)用:Route::post("news/store",'News@store')->middleware('CheckAge');