thinkphp框架路由的定義與使用
ThinkPHP框架具體強大的路由定義功能,基本上可以滿足網站路由的所有要求,包括規則路由、正規路由、靜態路由,也對路由的閉包支援。
以下介紹ThinkPHP框架路由的定義與使用。
路由的定義
啟用路由。 ThinkPHP路由設定生效需要滿足三個條件:
(1)在設定檔中開啟路由功能,如下圖1;
(2)URL支援PATH_INFO模式或相容URL模式;
(3)設定檔中使用URL_ROUTE_RULES參數進行配置,如下圖2。
路由定義格式。定義的格式有兩種:
(1) '路由表達式'=>'路由位址與傳入參數;
(2)array('路由表達式','路由位址','傳入參數')。
路由參數設定。這些參數的作用是限制定義的路由規則的生效條件,主要有三種作用,分別是限制URL後綴、限制請求類型、自訂檢測。
路由的使用
規則路由。規則路由表達式包含靜態位址和動態位址,或兩種位址的結合,如下圖。
註解:每個參數中以「:」開頭的參數都表示動態參數。例如:id表示該處符合的參數可以使用$_GET['id']方式取得,:year、 :month 、:day 則分別對應$_GET['year']、 $_GET['month'] 和$ _GET['day']。
正規路由,必須以「/」開頭,表達式不但支援正規的定義,而且還支援函數過濾處理。
靜態路由,表達式中路由的定義不包含動態參數,執行效率高,但作用有限。靜態路由的格式為:[控制器/操作?]參數1=值1&參數2=值2。
注意:為了不影響動態路由的遍歷效率,靜態路由採用URL_MAP_RULES定義和動態路由區分開來。
使用閉包的方式定義路由。這種方式不需要執行控制器的操作方法,如下圖。
本文來自ThinkPHP框架技術文章欄位:http://www.php.cn/phpkj/thinkphp/
以上是thinkphp框架路由的定義與使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!