色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

ThinkPHP采用模塊和操作分析

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

如果我們要執(zhí)行下面的URL
http://servername/index.php/User/add
你需要增加一個add方法就可以了,例如
折疊php Code復制內容到剪貼板
復制代碼 代碼如下:
class UserAction extends Action{
// 定義一個add操作方法,注意操作方法不需要任何參數(shù)
Public function add(){
// add操作方法的邏輯實現(xiàn)
// …… bath rug
$this->display(); // 輸出模板頁面
}
}

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

php技術ThinkPHP采用模塊和操作分析,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 周口市| 平潭县| 长兴县| 常山县| 彝良县| 江口县| 天津市| 北票市| 丰都县| 罗田县| 商河县| 洛隆县| 龙门县| 大埔区| 民勤县| 金阳县| 夏邑县| 谢通门县| 中西区| 大姚县| 左贡县| 石门县| 石阡县| 石门县| 庆安县| 双峰县| 盱眙县| 安阳县| 黔西| 常宁市| 蒙山县| 大连市| 丹东市| 拉萨市| 永修县| 和田县| 林甸县| 南京市| 汝阳县| 洛阳市| 绥化市|