【PHP】简单的MVC实例

今天来分享一个简单的MVC实例。


1.第一步建立入口文件index.php。入口文件里有什么,现在并不重要,所以继续下一步

2.创建文件夹controllers,添加控制器,这里我控制器名为TestController.php,插入代码如下,代码很简单,就是输出一行字

<?php
	class TestController{
		
		public function test(){		
			echo "这是test控制器的test方法</br>";
		}
	}

3.随后我们通过入口文件访问控制器,入口文件index.php输入如下代码。

<?php
	//URL:http://localhost/AWebsite/test/MVCtest/index.php
	//入口文件
	
	header("Content-Type:text/html;charset=utf-8");
	//包含控制器
	include './controllers/TestController.php';
	
	//实例化控制器对象
	$classname='TestController';
	$controller = new $classname();
	
	//调用方法
	$controller->test();



这时我们可以用游览器访问“网站目录/index.php”的方式查看到如下效果


4.然后我们写Model,创建Models文件夹,创建模型testModel.php,代码如下,功能也很简单,返回一个字符串变量

<?php
	class TestModel{
		//获取变量
		public function getVar(){
			$var = "这个是从model中获取的变量";
			return $var;
		}		
	}

5.修改控制器TestController.php,让它从模型中获取数据代码如下

<?php
	class TestController{
		
		public function test(){

			echo "这是test控制器的test方法</br>";
			
			//包含并实例一个模型
			include'./models/TestModel.php';
			$model = new TestModel();
			
			//通过模型获取数据
			$var = $model->getVar();
			echo $var."</br>";

		}
	}

从游览器中运行,效果如下



6.最后是view视图,创建views文件夹,然后views中创建Test文件夹,创建TestView.php

那么这个视图如何让他显示呢?我们可以通过控制器来让让其显示,在控制器TestController.php的末尾添加代码“include './views/Test/TestView.php';”

TestController完整代码如下

<?php
	class TestController{
		
		public function test(){

			echo "这是test控制器的test方法</br>";
			
			//包含并实例一个模型
			include'./models/TestModel.php';
			$model = new TestModel();
			
			//通过模型获取数据
			$var = $model->getVar();
			echo $var."</br>";
			
			include './views/Test/TestView.php';

		}
	}
7.最后我们在TestView.php中添加如下代码

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title></title>
</head>
<body>
	<?php
		echo "这段文字由视图显示:".$var;	
	?>
</body>
</html>

运行效果如下



到此为止,一个简单的MVC实例就完成了,总结的来说就是,用户通过入口文件访问控制器,控制器访问模型获取数据,最后将数据显示在视图中反馈给用户




希望对大家有所帮助


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值