用composer搭建php框架(四)--MVC之视图
来源:互联网 发布:网络营销策划发展状况 编辑:程序博客网 时间:2024/05/16 10:02
本教程示例代码见 github:https://github.com/xdlmr/myframe
前言
上一篇中我们已经跑通了控制器,接下来我们将使用Twig模板引擎来渲染我们的htm文件,实现views层。
TWIG安装
我们依然使用composer安装,安装方法和klein相同,或者参考中文文档Twig安装方法。
基本用法:
Twig使用一个加载器(Twig_Loader_String)来定位模板,和一个环境(Twig_Environment)来存储配置信息。 render() 方法通过传递过来的第一个参数来加载模板,通过传递过来的第二个参数(也就是变量)来渲染它。作为模板通常存储在文件系统中,Twig还配备了一个文件系统加载器:
require_once dirname(__FILE__) . '/vendor/autoload.php';$loader = new Twig_Loader_Filesystem('./views');$twig = new Twig_Environment($loader, array( /* 'cache' => './compilation_cache', */));echo $twig->render('layout.html', array('name' => 'Fabien'));
使用Twig渲染视图
新建文件phpframe/views/index.htm:
<!DOCTYPE html><html><head> <title>index</title></head><body><h1>这是视图</h1></body></html>
修改controller.php文件:
<?phpclass Controller { private $assign=array(); function __construct(){ } public function assign($name,$value){ $this->assign[$name] = $value; } function viewTpl ($file){ $filepath =PRODUCT_TEMPLATE_DIR.'/'.$file; if(is_file($filepath)){ $loader = new Twig_Loader_Filesystem(PRODUCT_TEMPLATE_DIR); $twig = new Twig_Environment($loader); $template = $twig->load($file); $template->display($this->assign?$this->assign:[]); }else{ throw new Exception('没有找到视图文件:'.$file); } } }
修改index.php的render方法:
public function render() { $this->viewTpl('index.htm'); }
刷新页面:
我感觉视图可视渲染出来了!
验证http请求路由
index.htm中发送post请求:
$.post({ url: '/index/doSomething', data: {}, dataType:'json', success:function(res){ console.log(res); } })
index.controller.php添加doSomething()方法:
public function doSomething($req){ return ['code' => CODE_SUCCESS, 'msg' => "成功"];}
刷新看到请求成功:
阅读全文
0 0
- 用composer搭建php框架(四)--MVC之视图
- 用composer搭建php框架(三)--MVC之控制器
- 用composer搭建php框架(五)--MVC之模型
- 用composer搭建php框架(一)--安装composer
- 用Composer搭建PHP框架(一)
- 用Composer搭建PHP框架(二)
- 用composer搭建php框架(二)--搭建路由
- php搭建mvc框架六(视图层)
- php搭建mvc框架四(加载控制器)
- 用composer 快速打造自己的PHP MVC框架
- 封装mvc框架【四】composer加载
- PHP搭建自己的MVC框架8 视图层
- Spring Web MVC框架(四) 视图和视图解析
- MVC框架之composer加载(一)
- MVC框架之composer加载(二)
- PHP MVC框架 视图之常用学习笔记
- 利用 Composer 完善自己的 PHP 框架(一)——视图装载
- 利用 Composer 完善自己的 PHP 框架(一)——视图装载
- 笨办法学 Python · 续 练习 50:`vi`
- C#设计模式(3)-工厂方法模式
- 26. Remove Duplicates from Sorted Array
- 云上如何做冷热数据分离
- 从最大似然到EM算法浅解
- 用composer搭建php框架(四)--MVC之视图
- 1.1.1列表
- 检查链表是否为回文 python实现
- Android Zygote启动流程源码解析
- web实现进入指定目录
- Android 如何解决Android的库自定义属性和生成过程中的包名重映射?
- java.lang.AbstractMethodError: org.apache.bval.jsr303.ConfigurationImpl.getDefaultParameterName....
- JAVA连接Redis错误提示(一)
- 乘法逆元+扩展欧几里得+Lucas