婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > thinkphp5框架路由原理與用法詳解

thinkphp5框架路由原理與用法詳解

熱門標簽:騰訊外呼管理系統 岳陽外呼型呼叫中心系統在哪里 河南電銷卡外呼系統哪家強 揚州地圖標注app 百應電話機器人服務 山西回撥外呼系統 青島語音外呼系統招商 昭通辦理400電話 山西探意電話機器人

本文實例講述了thinkphp5框架路由原理與用法。分享給大家供大家參考,具體如下:

路由理解

概括的說:路由就是網絡請求的url與thinkphp應用層的邏輯處理地址的對應關系。
通俗的說:路由就是把url的請求優雅的對應到你想要執行的操作方法。

路由其實就是把真實的url地址隱藏起來,使用訪問地址來訪問應用(網站或OA等)。

通常這樣定義:“訪問地址”=》“真實地址”,這代表了一種映射關系。就好比用“1”代表去肯德基吃飯,用“0”代表去麥當勞吃飯,你預先告知過同事這個規則的話,只需要發送“1”或“0”給同事,同事就能理解要去哪里吃飯,一個道理。

路由的規則是thinkphp規定好的,比如TP的訪問規則是:根目錄/模塊/控制器/方法,那么我們只需要定義一下映射關系“reg”=》“index/user/reg”,此時只需要再瀏覽器輸入“域名/reg”就能訪問“index模塊/user/控制器/reg方法”這個地址了。

這樣的優點:

1、沒有處理過的url路徑都是由 ...模塊/控制器/方法/參數 構成,如果不加以“掩飾”的話,會被別人看清內部結構,不夠安全。
2、可以讓url地址更加簡潔、優雅、美觀。

定義

通常是在應用的路由配置文件application/route.php進行注冊。

注冊

  • 2種注冊方式:1路由動態注冊和2配置定義的方式
  • 配置定義的方式
    其中,__pattern__是指定義全局變量規則,

    對應Route.php中:

    路由分組
    這個功能允許把相同前綴的路由定義合并分組,
    示例一:

admin/Admin/test方法:

public function test()
 {

  echo 'i am test br>';
  print_r(input());
 }

示例如下(注意接收的參數):


示例二:
關于定義路由后,url的生成:url()方法里,url('index/blog/read','id=5name=thinkphp');模塊、控制器要寫全,不然會出錯。例如:

Route::group('show', [
 'page/:id' => ['index/Page/show'],
 'cate/:id' => ['index/Cate/show'],
], ['method' => 'get'], ['id' => '\d+']);
a href="{:url('Page/show',['id'=>$cate['id']])}" rel="external nofollow" >

Href生成=》http://cms.com/index/page/show/id/65.html

動態注冊:

Route::rule('路由表達式','路由地址','請求類型','路由參數(數組)','變量規則(數組)');
或者簡化方法:
Route:: get(路由規則, 路由地址, 路由參數, 變量規則)

批量注冊:

Route::rule([
'路由規則1'=>'路由地址和參數',
'路由規則2'=>['路由地址和參數','路由參數(數組)','變量規則(數組)']
...
],'','請求類型','匹配參數(數組)','變量規則');

注意:

  • 混合模式下,注冊路由后,原來的訪問地址會自動失效~

  • 每個參數中以“:”開頭的參數都表示動態變量,并且會自動綁定到操作方法的對應參數。

  • 注冊多個路由規則后,系統會依次遍歷注冊過的滿足請求類型的路由規則,一旦匹配到正確的路由規則后則開始調用控制器的操作方法,后續規則就不再檢測。

路由綁定
入口文件綁定模塊后,再定義路由規則,就不需要加模塊名稱了。

// [ 應用入口文件 ]
//綁定admin模塊
define('BIND_MODULE', 'admin');
// 給登錄url定義路由
Route::rule('login', 'Login/index');

注意: define(‘BIND_MODULE', ‘index/index');綁定到控制器時,控制器名稱index要小寫,大寫會post不成功。。。
關于路由到動態的模塊、控制器或者操作

'show/:action/:id' => ['index/:action/show', 
['method' => 'get'],
['id' => '\d+', 'action' => '\w+']],

這兩個都能訪問成功??wtf?why?

http://cms.com/show/page/69
http://cms.com/index/page/show/id/69.html

明白一點了,不能這樣寫,可選參數只能放到路由規則的最后,如果在中間使用了可選參數的話,后面的變量都會變成可選參數。
路由別名
似乎使用路由別名后,原pathinfo并不會失效~

小結

  • url()助手函數里,模塊/控制器/方法要寫全;

更多關于thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術總結》。

希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。

您可能感興趣的文章:
  • thinkPHP5.1框架路由::get、post請求簡單用法示例
  • thinkPHP5框架路由常用知識點匯總
  • thinkphp5 URL和路由的功能詳解與實例
  • Thinkphp5 如何隱藏入口文件index.php(URL重寫)
  • thinkPHP5.0框架URL訪問方法詳解
  • thinkphp四種url訪問方式詳解
  • thinkphp的URL路由規則與配置實例
  • thinkphp中的url跳轉用法分析
  • tp5.1 框架路由操作-URL生成實例分析

標簽:南陽 寶雞 婁底 宜賓 銅川 鎮江 黃南 湛江

巨人網絡通訊聲明:本文標題《thinkphp5框架路由原理與用法詳解》,本文關鍵詞  thinkphp5,框架,路由,原理,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《thinkphp5框架路由原理與用法詳解》相關的同類信息!
  • 本頁收集關于thinkphp5框架路由原理與用法詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 白水县| 沙田区| 栾川县| 通州市| 富源县| 浠水县| 长武县| 临汾市| 兰坪| 孟村| 金湖县| 安乡县| 六枝特区| 文化| 玛曲县| 句容市| 天长市| 呈贡县| 奈曼旗| 阿鲁科尔沁旗| 尼木县| 广州市| 昭平县| 洪泽县| 霍城县| 永寿县| 五河县| 凉山| 禹城市| 津南区| 阳朔县| 白朗县| 牙克石市| 射阳县| 黑河市| 和平县| 许昌市| 凌云县| 上高县| 宣化县| 利川市|