twig 模板引擎使渲染视图更加优雅

来源:互联网 发布:2015网络银行交易额 编辑:程序博客网 时间:2024/05/29 18:41
  在使用 laravel 的时候接触过 blade 模板引擎。在学习的时候,接触到了另外一个强大的模板引擎:twig

官网:https://twig.sensiolabs.org/

中文手册:http://download.csdn.net/detail/chenmoimg_/9840505

一、首先我们使用 composer 下载下来

现在我们的目录里面只有 composer.json 这个文件。

这是 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
原创粉丝点击