激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - ThinkPHP采用模塊和操作分析

ThinkPHP采用模塊和操作分析

2019-11-21 13:53PHP教程網 PHP教程

ThinkPHP采用模塊和操作的方式來執行,首先,用戶的請求會通過入口文件生成一個應用實例,應用控制器(我們稱之為核心控制器)會管理整個用戶執行的過程,并負責模塊的調度和操作的執行,并且在最后銷毀該應用實例。

任何一個WEB行為都可以認為是一個模塊的某個操作,系統會根據當前的URL來分析要執行的模塊和操作。這個分析工作由URL調度器來實現,官方內置了Dispatcher類來完成該調度。 在Dispatcher調度器中,會根據 
http://servername/appName/moduleName/actionName/params 
來獲取當前需要執行的項目(appName)、 模塊(moduleName)和操作(actionName),在某些情況下,appName可以不需要(通常是網站的首頁,因為項目名稱可以在入口文件 中指定,這種情況下,appName就會被入口文件替代)。在復雜一點的情況下面,可能還會出現分組(groupName)。 
每個模塊是一個Action文件,類似于我們平常所說的控制器,系統會自動尋找項目類庫Action目錄下面的相關類,如果沒有找到,則會定位到空模塊,否則拋出異常。 
而actionName操作是首先判斷是否存在Action類的公共方法,如果不存在則會繼續尋找父類中的方法,如果依然不存在,就會尋找是否存在自動匹配的模版文件。如果存在模版文件,那么就直接渲染模版輸出。 
因此應用開發中的一個重要過程就是給不同的模塊定義具體的操作。一個應用如果不需要和數據庫交互的時候可以不需要定義模型類,但是必須定義Action控制器。 Action控制器的定義非常簡單,只要繼承Action基礎類就可以了,例如:microfiber cloth 

復制代碼代碼如下:


class UserAction extends Action{ 


如果我們要執行下面的URL 
http://servername/index.php/User/add 
你需要增加一個add方法就可以了,例如 
折疊PHP Code復制內容到剪貼板 

復制代碼代碼如下:


class UserAction extends Action{ 
// 定義一個add操作方法,注意操作方法不需要任何參數 
Public function add(){ 
// add操作方法的邏輯實現 
// …… bath rug 
$this->display(); // 輸出模板頁面 


操作方法必須定義為Public類型,否則會報錯。并注意操作方法的命名不要和內置的Action類的方法重復。系統會自動定位當前操作的模板文件,而默認的模板文件應該位于項目目錄下面的Tpl\default\User\add.html。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美日韩精品一区二区三区在线观看 | 成人黄色网战 | 久久久久久久久久亚洲精品 | 国产91极品 | 久草导航| 亚洲精品久久久久久 | 性欧美xxxx极品摘花 | 9797色| 欧美国产第一页 | 欧美日韩国产一区二区三区在线观看 | 国产精品免费观看视频 | 久久金品| 午夜视频在线在免费 | 精选久久 | 欧美女孩videos | 成人免费一区二区三区在线观看 | 亚洲网站免费 | 成人勉费视频 | 成人午夜视频在线观看免费 | 91精品国产99久久久久久 | 欧美一区二区三区中文字幕 | 久久久一二三 | 久久综合给合久久狠狠狠97色69 | 色视频91 | 国产成人小视频在线观看 | 久久成年人视频 | 久久精品无码一区二区日韩av | 斗破苍穹在线免费 | 97干色 | 91专区在线观看 | 免费一级毛片在线播放视频 | 91看片网页版 | 精品国产精品久久 | 国产一区二区免费在线观看 | 日本成人在线免费 | 成人免费福利网站 | 日韩毛片网站 | jizzzzxxxxx| 一级黄色毛片a | 国产黄色一级大片 | 一区二区三区小视频 |