封装mvc框架【二】
来源:互联网 发布:成都 银海软件 编辑:程序博客网 时间:2024/05/31 11:04
之前已经说过关于封装mvc框架的运行流程和对路由类的了解,接下来我们将进一步对mvc的类进行剖析完善。
首先我们来完成在控制器中对数据库进行连接;
一、模型类
首先我们在核心文件夹core下的lib文件夹下建立model.php 文件;
.在model.php里,首先需要一个命名空间,并让这个model类继承pdo,这样model也可以有直带的方法
接下来写一个初始化的方法;初始化的方法中连接我们的数据库‘
<?phpnamespace core\lib; class model extends \PDO{ public function __construct() { //连接数据库 $dsn = "mysql:host=127.0.0.1;dbname=test"; $username = 'root'; $passwd='1111'; try { //连接测试 parent::__construct($dsn,$username,$passwd); } //连接失败 抛出异常 catch(\PDOException $e) { var_dump($e->getMessage()); } }}然后我们可以在我们的控制器当中写一些sql语句,用来测试!!
<?phpnamespace App\ctrl;class indexCtrl extends \core\mpk{public function index(){// print_r("is indexCtrl");// 模型$model= new \core\lib\model();$sql="select * from users";$ret=$model ->query($sql);print_r($ret->fetchAll());//打印数据}运行index控制器的index方法,打印出数据。这样我们就可以在控制器当中使用mysql了。
二、视图类
视图可以把变量赋值到视图层去,并且可以调用视图文件
<?phpnamespace App\ctrl;//控制器继承mpk的基类class indexCtrl extends \core\mpk{ //视图层public function show(){$data="你好";$this->assign('data',$data);//把变量赋值到视图中$this->display('index.php');//调用视图文件}}?>开始编码
因为控制器继承于mpk.php的基类,所有我们就在mpk.php增加我们的这两个方法
public function assign($name,$value)//接值{$this->assign[$name]=$value;//赋值} public function display($file){// echo $file;die;$file=MODULE.'/views/'.$file;// 判断视图是否存在if(is_file($file)){ //如果文件存在则引入extract($this->assign);include $file;}}
然后我们需要建立我们存放视图的文件夹,与Ctrl控制器平级建立view文件夹,在view建立index.php,来输出我们在控制器定义的变量
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>Document</title></head><body><h3>视图层</h3><?php echo $data;?></body></html>
接下来运行就可以看到视图层运行结果了!!!!
’
0 0
- 封装mvc框架【二】
- mvc框架封装(二)路由类篇
- MVC框架的封装(二)类自动加载
- mvc框架封装( 二)类自动加载
- 如何封装一个自己的mvc框架(二)
- MVC框架的封装(二)类自动加载
- mvc 封装框架之关于 .haccess 文件 (二)
- MVC框架的封装(二)类自动加载
- 封装mvc框架
- 封装mvc框架
- mvc框架封装(一)
- 封装MVC框架
- MVC 封装之二
- 封装MVC(二)
- 封装mvc框架【五】medoo
- 封装自己的mvc 框架
- MVC封装框架 知识点 一
- 简单封装自定义MVC框架
- win10 ESP盘符问题(隐藏系统分区)
- BZOJ 1185 [HNOI2007]最小矩形覆盖
- Linux
- checkbox 设置复选框的只读不让用户勾选
- MVC框架之从零开始(二)
- 封装mvc框架【二】
- Spring Boot学习之路——自定义拦截器
- Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift
- wechat-小程序(hello world)分析
- Matlab基础知识
- 利用Java自带的MD5加密
- 等高线如何和卫星地图叠加
- 【Linux】Linux下设置IP、掩码、网关
- iOS 保存图片或者视图到本地相册