composer安装及MVC实现----2019-10--31
程序员文章站
2022-03-11 13:39:09
...
1、实现简单的MVC原理
目录结构:
通过在index.php中对路由进行解析,调用控制器的的类和方法来实现视图和模型的数据交换。
超全局变量$_SERVER是一个包含了头信息(header)、路径(path)以及脚本位置(script_location)等等信息的数组,可以通过$_SERVER['REQUEST_URI]来获取当前页面的路由信息。根据路由提供的信息我们可以获得需要调用的脚本信息,最后使用脚本中的类中的某些方法来实现视图和模型之间的数据交换。
index.php代码:
<?php $uri = $_SERVER["REQUEST_URI"]; //获取路由 $path_info = $_SERVER['PATH_INFO']; //用来获取脚本名称之后,查询语句之间的路径信息 $path = ltrim($path_info,'/'); //将$path_info字符串左边的'/'符号去掉 //解析控制器和方法; $controller_method = explode('/',$path); //将$path拆分为数组 $controller= ucfirst($controller_method[0]); //获取控制器名称 $class = $controller_method[1]; //获取类名 $method = $controller_method[2]; //获取方法 require __DIR__.'/controller/'.$controller.'.php'; echo $class::$method();
Controller.php代码:
<?php class control{ public static function view() { require __DIR__ . '/../model/db.php'; require __DIR__ . '/../view/home.php'; } }
db.php代码:
<?php class db { protected $pdo=null; public function __construct($dsn,$username,$pwd) { $this->pdo=new PDO($dsn,$username,$pwd); } public function __get($name){ return $this->$name; } } $dsn='mysql:host=127.0.0.1;dbname=video'; $username = 'root'; $pwd = 'root'; $db = new db($dsn,$username,$pwd); $pdo = $db->pdo; $sql = 'SELECT * FROM staff'; $stmt = $pdo->prepare($sql); $stmt->execute(); $results = $stmt->fetchAll(PDO::FETCH_ASSOC);
home.php代码:
<?php echo '<pre>'.print_r($results,true);
运行结果:
推荐阅读
-
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
-
ASP.NET实现MVC中获取当前URL、controller及action的方法
-
Asp.net MVC利用knockoutjs实现登陆并记录用户的内外网IP及所在城市(推荐)
-
MVC项目结构搭建及单个类的实现学习笔记1
-
Android7.0实现开机后台安装应用----rc文件的使用及权限问题
-
Docker 安装及配置镜像加速的实现
-
Android实现检查并下载APK更新、安装APK及获取网络信息的方法
-
Python3.6安装及引入Requests库的实现方法
-
如何利用cobbler 实现系统自动化安装及web管理
-
python实现二级登陆菜单及安装过程