成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Luthier CI 中間件 Middleware

KitorinZero / 555人閱讀

摘要:中間件執(zhí)行點(diǎn)有兩個(gè)執(zhí)行點(diǎn)此時(shí)定義的中間件將在控制器構(gòu)造函數(shù)之后執(zhí)行,但在執(zhí)行任何控制器操作之前執(zhí)行。控制器構(gòu)造函數(shù)始終首先執(zhí)行這是的行為,而不會對其進(jìn)行修改。添加后綴避免沖突的一種方法是將后綴添加到中間件名稱。

中間件 Middleware 內(nèi)容 Contents

介紹 Introduction

中間值執(zhí)行點(diǎn) Middleware execution points

創(chuàng)建中間件 Create a middleware

分配中間值 Assign a middleware

全局中間件 Global Middleware

路由中間件 Route middleware

運(yùn)行中間件 Run a middleware

中間件參數(shù) Middleware parameters

外部中間件 External middleware

介紹 ( Introduction )

將中間件視為一組層,請求必須在您的應(yīng)用程序中通過才能到達(dá)資源。

例如,使用中間件,您可以驗(yàn)證用戶是否已登錄并具有足夠的權(quán)限來訪問應(yīng)用程序的某些部分,否則將其重定向到其他位置。

實(shí)際上,中間件是控制器的擴(kuò)展,因?yàn)榭蚣艿膯卫呀?jīng)在此時(shí)構(gòu)建,您可以使用該ci()函數(shù)來獲取它。

中間件執(zhí)行點(diǎn) ( Middleware execution points )

有兩個(gè)執(zhí)行點(diǎn):

pre_controller: 此時(shí)定義的中間件將在控制器構(gòu)造函數(shù)之后執(zhí)行,但在執(zhí)行任何控制器操作之前執(zhí)行。

post_controller: 此時(shí)定義的中間件將完全在post_controllerCodeIgniter 的本機(jī)鉤子上運(yùn)行。

控制器構(gòu)造函數(shù)始終首先執(zhí)行

這是CodeIgniter的行為,而Luthier CI不會對其進(jìn)行修改。

在某些時(shí)候您可能需要在中間件之前執(zhí)行代碼,這樣做的方法是在控制器中定義一個(gè)名為的公共方法preMiddleware:


作為路由在回調(diào)中不可用

當(dāng)您使用回調(diào)作為路由時(shí),無法在中間件之前執(zhí)行任意代碼

創(chuàng)建一個(gè)中間件 ( Create a middleware )

所有中間件必須保存在application/middleware文件夾中。中間件是任何帶有run()公共方法的PHP類。

例:


實(shí)現(xiàn) MiddlewareInterface 接口將是強(qiáng)制性的

從0.3.0版本開始,使用未實(shí)現(xiàn)LuthierMiddlewareInterface 接口的中間件類是DEPRECATED并將在下一版本中停止工作

為了在應(yīng)用程序中分配中間件,必須同時(shí)使用類的名稱和文件的名稱。另外,請注意不要使用與框架中的其他資源相同的名稱,例如控制器,模型,庫等。

添加 Middleware 后綴

避免沖突的一種方法是將 Middleware后綴添加到中間件名稱。

從命令行創(chuàng)建中間件

如果已激活Luthier CI的內(nèi)置CLI工具,請使用該luthier make middleware [name] 命令創(chuàng)建新的中間件

分配中間件 ( Assign a middleware )

您可以在應(yīng)用程序的不同上下文中分配中間件:

全球中間件 ( Global middleware )

要在全局上下文中定義中間件,請使用以下語法:

Route::middleware([name], [exec_point?]);

name i中間件的名稱在哪里, exec_point 是執(zhí)行點(diǎn),默認(rèn)情況下是 pre_controller.

您可以使用匿名函數(shù)而不是中間件的名稱:

Route::middleware(function(){
    ci()->load->view("global_header");
});
路由中間件 ( Route middleware )

route group上下文中,中間件是另一個(gè)屬性,因此它位于方法的第三個(gè)參數(shù)中 group() :

Route::group("site", ["middleware" => ["AuthMiddleware"]], function(){

});

最后,在 individual route 上下文中,中間件也是另一個(gè)屬性,因此它在第二個(gè)參數(shù)中

Route::put("foo/bar","controller@method", ["middleware" => ["TestMiddleware"]]);

僅在pre_controller點(diǎn)將

中間件分配給路由和路由組時(shí),執(zhí)行點(diǎn)始終為 pre_controller

運(yùn)行中間件 ( Run a middleware )

要從控制器運(yùn)行中間件,請使用屬性的run() 方法 middleware :

middleware->run("AuthMiddleware");
    }
}
中間件參數(shù) ( Middleware parameters )

該屬性的 run() 方法 middleware 支持帶有中間件參數(shù)的第二個(gè)參數(shù):

// $args can be any variable type:

$args = ["foo" => "bar"];
$this->middleware->run("AuthMiddleware", $args);
外部中間件 ( External middleware )

只要它有一個(gè)名為的公共方法,就可以從外部類運(yùn)行中間件 run()

middleware->run(new CustomMiddleware());
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/31396.html

相關(guān)文章

  • 關(guān)于Luthier CI

    摘要:歡迎關(guān)于是的一個(gè)插件,增加了有趣的功能,旨在簡化大型網(wǎng)站和的構(gòu)建。它是為了盡可能地與框架集成,因此在安裝后,應(yīng)用程序中已存在的所有內(nèi)容應(yīng)該繼續(xù)正常工作。在大多數(shù)情況下,安裝不會超過分鐘社區(qū)和支持要報(bào)告錯(cuò)誤并提出更改,請?jiān)L問上的存儲庫 歡迎 關(guān)于Luthier CI Luthier CI是CodeIgniter的一個(gè)插件,增加了有趣的功能,旨在簡化大型網(wǎng)站和API的構(gòu)建。 它是為了盡可能...

    lk20150415 評論0 收藏0
  • Luthier CI 簡單的認(rèn)證 SimpleAuth

    摘要:訪問控制列表的配置與訪問控制列表使用的類別和權(quán)限類別組的名稱和的關(guān)聯(lián)排列。 簡單的認(rèn)證 SimpleAuth 內(nèi)容 Contents 介紹 Introduction 安裝 Installation 第1步:復(fù)制所需的文件 Step 1: Copy the required files 第2步:安裝數(shù)據(jù)庫 Step 2: Install the database 第3步:定義...

    Scorpion 評論0 收藏0
  • Luthier CI 認(rèn)證框架 Authentication Framework

    摘要:返回表示用戶的對象。相反,存儲使用單向加密算法生成的哈希。例刪除當(dāng)前會話要從當(dāng)前身份驗(yàn)證會話中刪除所有數(shù)據(jù)包括當(dāng)前存儲的經(jīng)過身份驗(yàn)證的用戶,請使用靜態(tài)方法用戶操作有兩種操作可用于對經(jīng)過身份驗(yàn)證的用戶執(zhí)行角色驗(yàn)證和權(quán)限驗(yàn)證。檢查密碼重置請求。 Luthier CI 認(rèn)證框架 ( Authentication Framework ) 內(nèi)容 Contents 介紹 Introduct...

    Elle 評論0 收藏0
  • Luthier CI 例子 Examples

    摘要:例子例子多語言網(wǎng)站這是一個(gè)示例,顯示了由管理的多語言網(wǎng)站。中間件用于加載當(dāng)前語言文件。 例子 Examples 例子 # 1: 多語言網(wǎng)站 Multi-language website 這是一個(gè)示例,顯示了由URL管理的多語言網(wǎng)站。中間件用于加載當(dāng)前語言文件。

    CarlBenjamin 評論0 收藏0
  • Luthier CI安裝 Installation

    摘要:安裝內(nèi)容要求安裝獲得啟用自動(dòng)加載和掛鉤將與您的應(yīng)用程序連接初始化要求安裝獲得需要通過安裝。編寫權(quán)限如果在創(chuàng)建基本文件期間出現(xiàn)錯(cuò)誤,則可能是由于權(quán)限不足。確保該文件夾具有寫入權(quán)限 安裝 ( Installation ) 內(nèi)容 ( Contents ) 要求 Requirements 安裝 Installation 獲得Luthier CI Get Luthier CI 啟用Co...

    inapt 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<