PHP-自己写一个简易的MVC

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框架

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值