MVC是PHP框架形式,挑选一个好的MVC框架是你快发效率的首选。
MVC里面有三层:
View层 显示数据(数据库记录)。
model层 表示应用程序核心(比如数据库记录列表)。
controller层 (控制器)处理输入(写入数据库记录)。
Reg资源扩展文件夹
Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象负责在数据库中存取数据。
View(视图)是应用程序中处理数据显示的部分。
通常视图是依据模型数据创建的。
Controller(控制器)是应用程序中处理用户交互的部分。
通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
---------------------------------------------------------------------------------
下面我们来自己建立实现一个PHP的MVC框架
先建立三个文件:
controller
view
model
我们设立MVC只有一个index.php入口文件
如果用户只是访问的index.php,没有传参,默认访问indexaction.class.php里面的Index方法
<?php
header("content-type:text/html;charset=utf-8");
//index.php?m=user&a=add
$m=empty($_GET['m'])?'index':$_GET['m']; //模块的名称
//模块的名称index
$a=empty($_GET['a'])?'index':$_GET['a']; //方法的名称
// include "./controller/".$m."action.class.php";
// 方法的名称
// 加载控制器文件
// 优秀的写法开始
//获取当前的记载路径
$include_path=get_include_path();
//拼接所需要的加载路径
$include_path.=PATH_SEPARATOR."./model";
$include_path.=PATH_SEPARATOR."./controller";
$include_path.=PATH_SEPARATOR."./org";
//PATH_SEPARATOR 在linux上是一个":"号,WIN上是一个";"号
//set_include_path就是设置php的包含文件路径,相当是操作系统的环境变量
//get_include_path取得当前已有的环境变量
//设置加载路径
set_include_path($include_path);
//加载控制器文件
function __autoload($className){
include strtolower($className).".class.php";
}
// 优秀的写法结束
// function __autoload($className){
// if(strtolower(substr($className,-6))=='action'){
// //加载控制器
// include "./controller/".strtolower($className).".class.php";
// }elseif(strtolower(substr($className,-5))=='model'){
// //加载model
// include "./model/".strtolower($className).".class.php";
// }else{
// //加载第三方类
// include "./org/".strtolower($className).".class.php";
// }
// }
$m=ucfirst($m)."Action";//IndexAction
$mod=new $m;
//$调用方法
$mod->$a();
//$mod->index()
我们在controller文件夹中建立
indexaction.class.php文件
shopaction.class.php
useraction.class.php
我们在indexaction.class.php写入如下内容
<?php
header("content-type:text/html;charset=utf-8");
class indexAction{
public function index(){
echo "这是首页";
echo "<hr>";
echo "<hr>";
$user=new UserModel;
echo $array['hao'];
var_dump($user->getList());
}
public function add(){
echo "这是用户添加";
}
}
然后我们在model文件下建立usermodel.class.php文件
<?php
class UserModel{
function getList(){
return array(
array('1' =>'guanyu' ,'2' =>'zhenyu')
);
echo serialize($array);
}
}
这样,我们就建立好了第一个MVC框架