国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHP路由技術的原理與實踐

BWrong / 554人閱讀

摘要:下面只是一個簡單的示例文件源碼文件源碼這里是控制器結束這里只是最簡單的路由技術的原理,其實真正為一個項目或者框架進行路由開發,可能需要能夠兼容很多復雜的情況,需要對各種情況都要考慮到。

0x00 路由實現原理

用戶通過指定的URL范式對后臺進行訪問,URL路由處理類進行處理后,轉發到邏輯處理類,邏輯處理類將請求結果返回給用戶。

約定URL范式和規則

約定一套自己喜歡的,對搜索引擎友好,對用戶友好的URL規則

URL處理類

對用戶請求的URL進行解析處理,獲取到用戶請求的類,方法,以及Query參數等,并將請求轉發給邏輯處理類。

邏輯處理類

處理網站的真實業務邏輯。

0x01 URL范式約定

目前來說,有兩種比較流行的URL格式,一種是普通模式,一種是 pathinfo 模式。

普通模式

ThinkPHP 框架中,默認的URL格式即為普通模式,普通模式URL如下:

index.php?m=home&c=user&a=login&v=value

其中 m 參數的值為模塊名稱, c 參數的值為控制器名稱, a 參數的值為方法名稱,之后的參數則為該方法中所要接收的其他 GET 請求參數

pathinfo模式

CodeIgniter 框架中,默認的URL格式為 pathinfo 模式,如下:

index.php/controller/method/prarme1/value1

這塊的意義也已經標注的很明白了,在 method 以后,就是方法接收的 GET 參數了,格式就是 名稱/值

0x02 URL路由處理類(核心)

此處我們選用最簡單的普通單模塊模式進行演示,只為說明簡單的原理,如下:

index.php?c=user&a=login&v=value

我們約定參數 c 為控制器名稱,參數 a 為方法名稱,之后的均是 GET 參數

$action();

    } else {
        echo "控制器" . $controller . "中不存在方法" . $action;
    }
} else {
    echo "不存在控制器" . $controller;
}

其中 unset() 掉兩個get參數,只是為了對真正調用的方法造成其他影響。

0x03 邏輯處理類

邏輯處理類就是最終的業務邏輯,也就是真正的回應用戶請求的代碼片段。下面只是一個簡單的示例:

/* index.class.php 文件源碼 */

/* user.class.php 文件源碼 */

0x04 結束

這里只是最簡單的PHP路由技術的原理,其實真正為一個項目或者框架進行路由開發,可能需要能夠兼容很多復雜的情況,需要對各種情況都要考慮到。

原文作者:我才是二亮
原文鏈接:http://www.2liang.me/?p=230
轉載必須在正文中標注并保留原文鏈接、作者等信息。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/21094.html

相關文章

  • 如何打造一個令人愉悅前端開發環境(三)

    摘要:的最后一個大招就是替換一些傳統的服務端語言,例如,,等,在業務層上面使用來開發服務端完全不成問題。更多的的使用細節和技巧建議關注美團博客大搜車論壇下一篇我們開啟如何結合和搭建一個開發環境和項目目錄 往期回顧 前面2期都講得是瀏覽器端的東西比較多,包括Webpack,雖然是Node處理的,但是還是瀏覽器端用的多,對于現在的前端開發來說,不懂一點服務端的東西,簡直沒辦法活,一般的招聘要求都...

    cgh1999520 評論0 收藏0
  • Laravel入門及實踐,快速上手ThinkSNS+二次開發

    摘要:在中,提示符可能是。框架使用來執行安裝及管理依賴。為了能訪問網頁,要啟動程序服務器。在大多數類系統中,包括,命令行提示符是符號。這兩個操作分別對應于的和,即創建和讀取。首個表單要在模板中編寫表單,可以使用表單構造器。 【摘要】自從ThinkSNS+不使用ThinkPHP框架而使用Laravel框架之后,很多人都說技術門檻抬高了,其實你與TS+的距離僅僅只是學習一個新框架而已,所以,我們...

    glumes 評論0 收藏0
  • 2018年騰訊前端一面總結(面向2019屆學生)

    摘要:前言騰訊一面,相比阿里一面來說,騰訊一面先給打電話預定時間,這也給了我們這些面試者去準備的時間。其實閉包也就是指有權訪問另一個函數作用域的函數而已。常用的創建閉包的方法就是在函數內部創建另一個函數。 前言 騰訊一面,相比阿里一面來說,騰訊一面先給打電話預定時間,這也給了我們這些面試者去準備的時間。但是也正是因為這種確定性,也有在等待電話的時候的心情的忐忑。 背景 我是一名大三學生,大一...

    Kosmos 評論0 收藏0

發表評論

0條評論

BWrong

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<