MVC架构输出hello world

MVC是目前php主流的一种架构,其是通过调用不停使用控制器来调用模型和视图的方式来运行的。

index.php

<?php
	//url 形式,  index.php?controller=控制器名&method=方法名
	require_once('function.php');
	$controllerAllow=array('test','index');
	$methodAllow=array('test','index','show'); //创建两个数组,判断该方法和控制器是否可以访问
	$controller = in_array($_GET['controller'],$controllerAllow)?
	daddslashes($_GET['controller']):'index';
	$method = in_array($_GET['method'],$methodAllow)?
	daddslashes($_GET['method']):'index';
	C($controller,$method);
	
?>


先调用function.php,把合法的控制器和方法存起来,先判控制器和方法是否存在,然后将其进行格式转换(转换非法字符)。

调用controller控制和方法。
这个方法会调用模型,模型再去调用视图,通过视图展现 。。           

function.php             

<?php
	function C($name, $method){// 创建一个控制器函数
		require_once('libs/Controller/'.$name.'Controller.class.php');
		eval('$obj = new '.$name.'Controller();$obj->'.$method.'();'); //把字符串变成可以执行的php语句
		/*
		$controller = $name.'controller';
		$obj = new $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;
	}
	//C('test','show');
?>

testController.class.php

<?php
	class testController{
		function show(){
			$testModel = M('test');
			$data = $testModel -> get();
			$testView = V('test');
			$testView -> display($data);	
		}
	}
	?>

testModel.class.php

<?php
	class testModel{
		function get(){
			return "hello world";
		}
	}
	?>
testView.class.php

<?php
	class testView{
		function display($data){
			echo $data;
		}
	}
	?>






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值