PHP簡單的MVC架構實現方法_php執行個體

來源:互聯網
上載者:User
在PHP中使用MVC越來越流行了,特別是在一些開源的架構當中。

1.概述

  MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟體設計典範,用一種商務邏輯、資料、介面顯示分離的方法組織代碼,將商務邏輯聚集到一個組件裡面,在改進和個人化定製介面及使用者互動的同時,不需要重新編寫商務邏輯。MVC被獨特的發展起來用於映射傳統的輸入、處理和輸出功能在一個邏輯的圖形化使用者介面的結構中。

2.代碼結構

3.代碼實現

<?php    //function.php   //控制器調用函數  function C($name, $method){    require_once('libs/Controller/'.$name.'Controller.class.php');    //$testController = new testController();    //$testController->show();    eval('$obj = new '.$name.'Controller(); $obj->'.$method.'();');  }  //模型調用函數  function M($name){    require_once('libs/Model/'.$name.'Model.class.php');    eval('$obj = new '.$name.'Model();');    return $obj;  }  //視圖調用函數  function V($name){    require_once('libs/View/'.$name.'View.class.php');    eval('$obj = new '.$name.'View();');    return $obj;  }  //過濾非法值  function daddslashes($str){    return (!get_magic_quotes_gpc())?addslashes($str):$str;  }?><?php//test.php/*第一步 瀏覽者 -> 調用控制器,對它發出指令第二步 控制器 -> 按指令選取一個合適的模型第三步 模型 -> 按控制器指令取相應資料第四步 控制器 -> 按指令選取相應視圖第五步 視圖 -> 把第三步取到的資料按使用者想要的樣子顯示出來*/require_once('View/testView.class.php');require_once('Model/testModel.class.php');require_once('Controller/testController.class.php');$testController = new testController();$testController->show();?><?php//testController.class.php/*控制器的作用是調用模型,並調用視圖,將模型產生的資料傳遞給視圖,並讓相關視圖去顯示*/  class testController{    function show(){      /*$testModel = new testModel();      $data = $testModel->get();      $testView = new testView();      $testView->display($data);*/      $testModel = M('test');      $data = $testModel->get();      $testView = V('test');      $testView->display($data);    }  }?><?php//testModel.class.php/*模型的作用是擷取資料並處理,返回資料*/  class testModel{    function get(){      return "hello world";    }  }?><?php//testView.class.php/*視圖的作用是將獲得的資料進行組織,美化等,並最終向使用者終端輸出*/  class testView{    function display($data){      echo $data;    }  }?>

運行結果:


PHP中的MVC

MVC[1]在軟體工程中是一種軟體的架構。從php的角度來講MVC有一些不同。

Model(模型),程式應用功能的實現,程式的邏輯的實現。在PHP中負責資料管理,資料產生。

View(視圖),圖形介面邏輯。在PHP中負責輸出,處理如何調用模板、需要的資源檔。

Controller(控制器),負責轉寄請求,對請求處理。在PHP中根據請求決定調用的視圖及使用的資料。

為什麼使用MVC

MVC的主要作用是為了將代碼分層、分類。

MVC的主要目的是為瞭解決Web開發中分離開發與設計工作,使其工作相對獨立。

在這樣的過程中還發現了其他的一些優點,網站的目錄結構更加清晰,網站更易維護與擴充,可以實現模組的複用。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.