控制器(Controller)的作用通常是在取得模型(Model)中資料並交給視圖(View)去顯示,那開發中我們該如何去寫呢?
1.建立Controller的類別檔案,我這裡檔案名稱為MatchController.class.php(推薦學習:PHP程式設計從入門到精通)
<?php/** * 比赛操作相关控制器功能类 */class MatchController{ /** * 比赛列表操作 */ public function listAction(){ header('Content-Type: text/html;charset=utf-8'); //实例化相应的模型类对象,调用某个方法,实现固定功能 // require './MatchModel.class.php'; // $m_match = new MatchModel(); //通过工厂获得对象 require './Factory.class.php'; $m_match = Factory::M('MatchModel'); $match_list = $m_match->getList(); // $m_match2 = Factory::M('MatchModel'); // 载入负责显示的html文件 require './template/match_list_v.html'; } /** * 比赛删除 */ public function removeAction(){ }
2.在入口檔案中實例化控制器物件(前端控制器或請求分發器),檔案名稱index.php
為了能讓index.php去執行我們要操作的動作,應該傳給index.php一些參數,來告訴入口文件怎麼做。
假如我們要在比賽清單(比賽Controller)中刪除一則比賽訊息,可以這樣傳給index.php:
index.php?c=match&a=remove&id=N
對應的HTML檔案應該這樣寫:
index.php:
<?php //动作 $default_action = 'list'; $a = isset($_GET['a'])?$_GET['a']:$default_action; //实例化控制器类 require './MatchController.class.php'; //实例化 $controller = new MatchController(); //调用方法 $action_name = $a.'Action'; $controller -> $action_name();//可变方法
以上是php控制器的方法在哪的詳細內容。更多資訊請關注PHP中文網其他相關文章!