twig 模板引擎使渲染视图更加优雅
来源:互联网 发布:2015网络银行交易额 编辑:程序博客网 时间:2024/05/29 18:41
在使用 laravel 的时候接触过 blade 模板引擎。在学习的时候,接触到了另外一个强大的模板引擎:twig
官网:https://twig.sensiolabs.org/
中文手册:http://download.csdn.net/detail/chenmoimg_/9840505
一、首先我们使用 composer 下载下来
这是 composer.json 的内容:
{ "name":"test", "description":"easy test", "keywords":[ "easy","test" ], "require":{ "php":">= 5.3.0", "twig/twig":"*" }, "repositories":{ "packagist":{ "type":"composer", "url":"https://packagist.phpcomposer.com" } }}
- cmd 进入到此文件目录,composer install 回车运行。
- 在此文件目录就会多了一个 《vendor》目录,我们的 twig 就在此目录里
二、简单使用 twig
Controller.php 内容:
<?phpclass Controller{ //存储模板页面值。 protected $assign; /*** * @ 模板页面赋值。 * @param $name * @param $value */ public function assign($name,$value) { $this->assign[$name]=$value; } /*** * @ 渲染模板。 * @param $view */ public function display($view){ #当前项目所在目录 $dir=str_replace("\\","/",__DIR__); #视图文件存在的路径 $file=$dir.'/views/'.$view; #判断渲染视图是否存在 if(file_exists($file)){ #要想使用 composer 下载的包,要先引入此文件。 include $dir."/vendor/autoload.php"; #让 twig 加载视图文件目录 $loader = new \Twig_Loader_Filesystem($dir.'/views'); $twig = new \Twig_Environment($loader); #加载渲染的页面 $template = $twig->load($view); #输出模板值 echo $template->render($this->assign?$this->assign:''); } }}//文件结束。
IndexController.php 内容:
<?phpinclude 'Controller.php';class IndexController extends Controller{ public function index(){ $title="我是标题"; $this->assign("title",$title); $this->display("views.html"); }}(new IndexController())->index();//文件结束。
然后我们在 views 目录创建 views.html
views.html 内容:
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title></head><body>{{title}}</body></html>
结束。
0 0
- twig 模板引擎使渲染视图更加优雅
- PHP模板引擎 twig
- twig模板引擎
- 框架引入twig模板引擎
- PHP模板引擎twig介绍
- TWIG 模板引擎 快速入门手册
- mvc用composer加载twig模板引擎
- 浅谈MVC之twig模板引擎
- mvc构建开发twig模板引擎
- MVC简单搭建之twig模板引擎
- mvc 封装 6 引用twig模板引擎
- 框架入门 中级篇 (中)twig模板引擎
- 框架本内容填充之twig模板引擎
- MVC框架的封装(十一)twig模板引擎
- mvc的扩展5(twig模板引擎)
- MVC封装(十一)模板引擎(twig)
- 学习封装mvc框架(十一)twig模板引擎
- Symfony Twig模板引擎——基础知识总结
- 【多线程】多线程教程之二---线程间同步
- mysql 5.5 安装图解(附安装到最后停住的解决方法)
- phpstorm快捷键使用
- UDP进程通信试验
- Qt 程序打包发布总结
- twig 模板引擎使渲染视图更加优雅
- 基于全连接孪生网络的目标跟踪(siamese-fc)
- 10 qt udp编程和网络聊天室的实现
- AWT与Swing区别与联系
- Python3.x和Python2.x的区别以及不同版本共存方法
- Android WebView 上传图片文件有坑
- 刷清橙OJ--A1013.进制转换4
- python中openpyxl模块学习知识点(一)
- hadoop2.7.3集群搭建