今天来分享一个简单的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实例就完成了,总结的来说就是,用户通过入口文件访问控制器,控制器访问模型获取数据,最后将数据显示在视图中反馈给用户。
希望对大家有所帮助