一般MVC:
1、入口文件
唯一一个让浏览器直接请求的脚本文件
2、控制器controller
协调模型和视图
Controllers/UserController.php
3、模型model
提供数据、保存数据
Models/UserModel.php
4、视图view
只负责显示
表单。。收集用户输入
Views/index.php
5、动作action
是控制器中方法,用于被浏览器请求
1、入口文件
唯一一个让浏览器直接请求的脚本文件
Index.php
<pre name="code" class="php">
<?php
//地址xxx?c=xx&a=xx(c为类名,a为方法名)
//这是入口文件
header("Content-Type:text/html;charset=UTF-8");
//控制器
$c=$_GET['c'];
//包含控制器
include './controllers/'.$c.'Controller.php';
//实例化控制器对象
$className=$c.'Controller';
$controller=new $className();
//方法名
$a=$_GET['a'];
//调用方法
$controller->$a();
?>
2、控制器controller
协调模型和视图
Controllers/UserController.php
<?php
class UserController{
public function index(){
//包含文件并实例化一个模型
include './models/UserModel.php';
$model=new UserModel();
//通过模型,获取数据
$list=$model->getAllUsers();
//echo "这是User控制器的index方法";
//让模板将数据显示出来
include './views/User/index.php';//注意:路径以入口文件为主,所以从当前目录查找
}
}
?>
3、模型model
提供数据、保存数据
Models/UserModel.php
<?php
class UserModel{
//获取所有用户列表
public function getAllUsers(){
$list=array(
array('id'=>1,'name'=>'jack','email'=>'jack@gmail.com'),
array('id'=>2,'name'=>'mary','email'=>'mary@gmail.com'),
array('id'=>3,'name'=>'lili','email'=>'lili@gmail.com')
);
return $list;
}
}
?>
4、视图view
只负责显示
表单。。收集用户输入
Views/index.php
<?php
class UserModel{
//获取所有用户列表
public function getAllUsers(){
$list=array(
array('id'=>1,'name'=>'jack','email'=>'jack@gmail.com'),
array('id'=>2,'name'=>'mary','email'=>'mary@gmail.com'),
array('id'=>3,'name'=>'lili','email'=>'lili@gmail.com')
);
return $list;
}
}
?>
5、动作action
是控制器中方法,用于被浏览器请求