国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 php教程 PHP開發(fā) Yii框架分析(八)——URL管理組件

Yii框架分析(八)——URL管理組件

Dec 27, 2016 am 11:25 AM

URL管理組件主要提供2個功能:
1、根據(jù)用戶輸入的url,解析出處理這個請求的路由——由哪個Controller的哪個Action來處理,同時將url中的參數(shù)部分添加到$_GET參數(shù)中。在每個web框架中都需要一個這樣的組件來進行路由分發(fā)的工作。
2、根據(jù)路由和參數(shù)數(shù)組創(chuàng)建出url。在視圖層可以對url進行硬編碼,即直接寫死url地址,但是這往往缺乏靈活性,為后期的維護帶來成本。

array(
    'components'=>array(
        'urlFormat'=>'path',
        'rules'=>array(
            &#39;/art/<cate:\w+>/<key:\d+>/<id:\d+>/<p:\d+>&#39;=>&#39;article/<cate>/<key>&#39;,
            &#39;post/<id:\d+>/<title:.*?>&#39;=>&#39;post/view&#39;,
            &#39;<controller:\w+>/&#39;=>&#39;<controller>/&#39;,
         ),
    ),
);</action></controller></action:\w+></controller:\w+></title:.*?></id:\d+></key></cate></p:\d+></id:\d+></key:\d+></cate:\w+>

如上是一個url管理組件的配置,一共有3條規(guī)則。下圖以第一條規(guī)則為例,說明了url解析和url創(chuàng)建的兩個功能。對于每個路由規(guī)則,CUrlManager都會創(chuàng)建一個CUrlRule對象來處理這條規(guī)則對應的這個兩個功能,所以說有幾條規(guī)則就會有幾個CUrlRule對象。所以CUrlRule才是url管理的核心所在,接下來分析CUrlRule的工作原理。

372.jpg

每條url路由規(guī)則由一個CUrlRule對象來進行處理,接下來以如下路由規(guī)則為例:'/art////'=>'article//',說明url解析和url創(chuàng)建的處理過程。每個CUrlRule對象處理url的過程可以分為3個階段:
1、 初始化CUrlRule對象
在CUrlRule對象的構造函數(shù)中,會初始化6個重要的成員變量:

373.jpg

2、 解析url
解析url的工作分3步走:a、根據(jù)pattern規(guī)則,解析出url中的各個字段;b、根據(jù)references對路由中的引用字段進行替換;c、將params中指定的字段添加到$_GET數(shù)組中
3、 創(chuàng)建url
創(chuàng)建url的工作分3步走:a、根據(jù)routePattern規(guī)則,解析出輸入的路由中各個字段;b、將輸入的參數(shù)數(shù)組和上一步解析的數(shù)組進行合并;c、用合并后的數(shù)組對template進行替換。

374.jpg

?以上就是Yii框架分析(八)——URL管理組件的內容,更多相關內容請關注PHP中文網(www.miracleart.cn)!


本站聲明
本文內容由網友自發(fā)貢獻,版權歸原作者所有,本站不承擔相應法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權的內容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅動的應用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1600
29
PHP教程
1502
276
Yii框架中間件:為應用程序提供多重數(shù)據(jù)存儲支持 Yii框架中間件:為應用程序提供多重數(shù)據(jù)存儲支持 Jul 28, 2023 pm 12:43 PM

Yii框架中間件:為應用程序提供多重數(shù)據(jù)存儲支持介紹中間件(middleware)是Yii框架中的一個重要概念,它為應用程序提供了多重數(shù)據(jù)存儲支持。中間件的作用類似于一個過濾器,它能夠在應用程序的請求和響應之間插入自定義代碼。通過中間件,我們可以對請求進行處理、驗證、過濾,然后將處理后的結果傳遞給下一個中間件或最終的處理程序。Yii框架中的中間件使用起來非常

Yii框架中間件:為應用程序添加日志記錄和調試功能 Yii框架中間件:為應用程序添加日志記錄和調試功能 Jul 28, 2023 pm 08:49 PM

Yii框架中間件:為應用程序添加日志記錄和調試功能【引言】在開發(fā)Web應用程序時,我們通常需要添加一些附加功能以提高應用的性能和穩(wěn)定性。Yii框架提供了中間件的概念,使我們能夠在應用程序處理請求之前和之后執(zhí)行一些額外的任務。本文將介紹如何使用Yii框架的中間件功能來實現(xiàn)日志記錄和調試功能?!臼裁词侵虚g件】中間件是指在應用程序處理請求之前和之后,對請求和響應做

PHP中如何使用Yii框架 PHP中如何使用Yii框架 Jun 27, 2023 pm 07:00 PM

隨著Web應用程序的快速發(fā)展,現(xiàn)代Web開發(fā)已成為一項重要技能。許多框架和工具可用于開發(fā)高效的Web應用程序,其中Yii框架就是一個非常流行的框架。Yii是一個高性能、基于組件的PHP框架,它采用了最新的設計模式和技術,提供了強大的工具和組件,是構建復雜Web應用程序的理想選擇。在本文中,我們將討論如何使用Yii框架來構建Web應用程序。安裝Yii框架首先,

使用Yii框架實現(xiàn)網頁緩存和頁面分塊的步驟 使用Yii框架實現(xiàn)網頁緩存和頁面分塊的步驟 Jul 30, 2023 am 09:22 AM

使用Yii框架實現(xiàn)網頁緩存和頁面分塊的步驟引言:在Web開發(fā)過程中,為了提高網站的性能和用戶體驗,常常需要對頁面進行緩存和分塊處理。Yii框架提供了強大的緩存和布局功能,可以幫助開發(fā)者快速實現(xiàn)網頁緩存和頁面分塊,本文將介紹如何使用Yii框架進行網頁緩存和頁面分塊的實現(xiàn)。一、網頁緩存開啟網頁緩存在Yii框架中,可以通過配置文件來開啟網頁緩存。打開主配置文件co

在Yii框架中使用控制器(Controllers)處理Ajax請求的方法 在Yii框架中使用控制器(Controllers)處理Ajax請求的方法 Jul 28, 2023 pm 07:37 PM

在Yii框架中,控制器(Controllers)扮演著處理請求的重要角色。除了處理常規(guī)的頁面請求之外,控制器還可以用于處理Ajax請求。本文將介紹在Yii框架中處理Ajax請求的方法,并提供代碼示例。在Yii框架中,處理Ajax請求可以通過以下步驟進行:第一步,創(chuàng)建一個控制器(Controller)類??梢酝ㄟ^繼承Yii框架提供的基礎控制器類yiiwebCo

Yii框架中的調試工具:分析和調試應用程序 Yii框架中的調試工具:分析和調試應用程序 Jun 21, 2023 pm 06:18 PM

在現(xiàn)代的Web應用程序開發(fā)中,調試工具是不可或缺的。它們可以幫助開發(fā)者查找和解決應用程序的各種問題。Yii框架作為一款流行的Web應用程序框架,自然也提供了一些調試工具。本文將重點介紹Yii框架中的調試工具,并討論它們如何幫助我們分析和調試應用程序。GiiGii是Yii框架的代碼生成器。它可以自動生成Yii應用程序的代碼,如模型、控制器和視圖等。使用Gii,

使用Yii框架中間件加密和解密敏感數(shù)據(jù) 使用Yii框架中間件加密和解密敏感數(shù)據(jù) Jul 28, 2023 pm 07:12 PM

使用Yii框架中間件加密和解密敏感數(shù)據(jù)引言:在現(xiàn)代的互聯(lián)網應用中,隱私和數(shù)據(jù)安全是非常重要的問題。為了確保用戶的敏感數(shù)據(jù)不被未經授權的訪問者獲取,我們需要對這些數(shù)據(jù)進行加密。Yii框架為我們提供了一種簡單且有效的方法來實現(xiàn)加密和解密敏感數(shù)據(jù)的功能。在本文中,我們將介紹如何使用Yii框架的中間件來實現(xiàn)這一目標。Yii框架簡介Yii框架是一個高性能的PHP框架,

YII面試問題:ACE您的PHP框架面試 YII面試問題:ACE您的PHP框架面試 Apr 06, 2025 am 12:20 AM

在準備Yii框架的面試時,你需要了解以下關鍵知識點:1.MVC架構:理解模型、視圖和控制器的協(xié)同工作。2.ActiveRecord:掌握ORM工具的使用,簡化數(shù)據(jù)庫操作。3.Widgets和Helpers:熟悉內置組件和輔助函數(shù),快速構建用戶界面。掌握這些核心概念和最佳實踐將幫助你在面試中脫穎而出。

See all articles