thinkpade400578mdc ThinkPHP採用模組和操作分析

來源:互聯網
上載者:User
任何一個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。

以上就介紹了thinkpade400578mdc ThinkPHP採用模組和操作分析,包括了thinkpade400578mdc方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.