torlee 发表于 2017-12-30 18:18:26

实现最简单PHP MVC实例

  关于网上大多MVC的简介我就不再多说,就是Model(模型)View(视图) C(控制器)这里作为一个刚入门PHP MVC框架的我,这里我搭建一个最简易的mvc项目,从而理解MVC
  1在apache服务器虾搭建项目文件体系
  MyMVC
  Model
  model.php
  View
  index.php
  Control
  indexControl.php
  index.php
  在我们一般理解的路径中我们需要访问一个页面,例如A.php需要输入类似于localhost://demo/project/A.php这样的目录结构,访问B.php再输入localhost://demo/project/B.php
  但是在MVC模式中,我们采用单一文件入口,即都从项目文件最外层的index.php开始,通过URL后带不同参数提交不同控制器,控制器再访问不同页面,下面通过一个案例来理解
  1设计一个简易的PHP MVC模式,用户通过在URL种输入地址以及ID参数,即可查询该ID对应的学生姓名
  学生数组为
  ID
  Name
  01
  Tom
  02
  Jack
  03
  Lisa
  1搭建项目文件体系,文件体系和上面一样
  2搭建模型层model.php,一般模型层负责处理数据,定义数据结构和属性,这里我们定义一个学生数组,并且定义一个访问数组方法,这个类似于javaweb中的javabean
  <?php
  class Model{
  public $data=array(
  '01'=>'Tom',
  '02'=>'Jack',
  '03'=>'Lisa',
  );
  public function getid($key){
  return $this->data[$key];
  }
  }
  3书写视图层View中index.php,index.php负责输出显示数据,注意我们需要通过不同ID来显示不同Name,所以index.php中定义的display()方法中应该接受一个动态的$output,
  <?php
  class Index{
  public function display($output){
  echo$output;
  }
  }
  4配置单一入口文件index.php
  <?php
  require 'cont/control.php';//引入控制器文件
  $ID=$_GET['ID'];
  $show=new Control();
  $show->showcontrol($ID);//调用控制器方法
  5控制器文件control.php
  <?php
  class Control{
  function showcontrol($ID){
  require 'view/index.php';
  require 'model/model.php';
  $view=new Index();
  $model=new Model();
  $data=$model->getid($ID);
  $view->display($data);
  }
  }
  至此一个简单的PHP MVC项目搭建完成了!
  在浏览器中输入http://localhost/demo/simpleMVC/index.php?ID=02即可!取得名字jack
页: [1]
查看完整版本: 实现最简单PHP MVC实例