1.安装 TWIG
composer require twig/twig
2.COMPOSER自动加载的引用
修改 BOOTSTRAP.PHP 增加
public function _initAutoload() {
require __DIR__ . "/../vendor/autoload.php"; }
3.新建ADAPTER
任意命名 需要实现Yaf_View_Interface接口
class Template_Adapter implements Yaf_View_Interface
{ private $vars;
private $path_view; private $twig;
private $loader;
private $extraParams; public function __construct($tmplPath = null, $extraParams = array())
{
if ($tmplPath) {
$this->path_view = $tmplPath;
}
$this->extraParams=$extraParams; } private function f()
{
if (!$this->loader) {
$this->loader = new Twig_Loader_Filesystem($this->path_view);
$this->twig = new Twig_Environment( $this->loader , $this->extraParams);
} } public function assign($spec, $value = null)
{ if (is_array($spec)) {
$this->vars = $spec;
return;
} $this->vars[$spec] = $value; } public function display($tpl, $tpl_vars = null)
{
if (!is_null($tpl_vars) && is_array($tpl_vars)) {
$this->vars = $tpl_vars;
}
$this->f();
echo $this->twig->render($tpl,$this->vars); } public function render($tpl, $tpl_vars = null)
{
$this->display($tpl, $tpl_vars);
} public function setScriptPath($template_dir)
{
if ($template_dir) {
$this->path_view = $template_dir;
} } public function getScriptPath()
{
return $this->path_view;
} }

4.BOOTSTARP中增加TWIG引用

public function _initView(Yaf_Dispatcher $dispatcher){

       $dispatcher->autoRender(false);

   $ve= new Template_Adapter(APPLICATION_PATH.'/view/',
[
'path_cache' => APPLICATION_PATH.'/viewcache/'
]);*/ require 'Template_Adapter.php';
$ve= new Template_Adapter(APPLICATION_PATH.'/view/',[
'debug' => false,
'charset' => 'UTF-8',
'base_template_class' => 'Twig_Template',
'strict_variables' => false,
'autoescape' => 'html',
'cache' => APPLICATION_PATH.'/viewcache/',
'auto_reload' => null,
'optimizations' => -1]);
Yaf_Dispatcher::getInstance()->setView($ve);
} 5.控制器中调用
$this->getView()->display('a.html');

yaf twig配置的更多相关文章

  1. php扩展yaf 按照配置

    Yaf,全称 Yet Another Framework,是一个C语言编写的PHP框架,是一个用PHP扩展形式提供的PHP开发框架, 相比于一般的PHP框架, 它更快. 它提供了Bootstrap, ...

  2. yaf路由配置规则

    使用框架的默认路由来访问的时候,会遇到一些困扰,这部分无法查看源代码,只能通过猜测来分析. 如果项目有多个模块,显然使用yaf的默认的静态路由是无法满足需求的. yaf默认的配置是着这样的: appl ...

  3. yaf框架安装配置

    YAF中文文档:http://www.laruence.com/manual/index.html 1 YAF框架是用C开发的,属于PHP的扩展框架: 2 YAF的性能相对于源生PHP,性能只降低不到 ...

  4. Yaf零基础学习总结4-Yaf的配置文件

    在上一节的hello yaf当中我们已经接触过了yaf的配置文件了, Yaf和用户共用一个配置空间, 也就是在Yaf_Application初始化时刻给出的配置文件中的配置. 作为区别, Yaf的配置 ...

  5. yaf学习之——yaf安装

    yaf的github源码地址 https://github.com/laruence/yaf 第一步: 下载dll扩展: http://pecl.php.net/package/yaf/2.3.5/w ...

  6. php中yaf框架的服务器配置

    1  yaf 扩展 wget http://pecl.php.net/get/yaf-3.0.4.tgz /usr/local/php/bin/phpize ./configure --with-ph ...

  7. windows下扩展yaf,并生成yaf框架文件

    YAF中文文档:http://www.laruence.com/manual/index.html 1 YAF框架是用C开发的,属于PHP的扩展框架: 2 YAF的性能相对于源生PHP,性能只降低不到 ...

  8. php拓展安装

    Yaf安装配置:http://www.laruence.com/manual/yaf.install.html#yaf.installation.linux 下载Yaf的最新版本, 解压缩以后, 进入 ...

  9. Yaf框架的配置

    http://www.laruence.com/manual/yaf.ini.html //先看一下惠新宸鸟哥yaf官网的配置说明 我们可以在php.ini中定义开发环节配置项,把本地开发设置成dev ...

随机推荐

  1. java----判断闰年和平年

    public class year{ public static void main(String[] args){ int year=2010; if((year%4==0&&yea ...

  2. Java 冒泡排序法

    冒泡排序法: public static void Bubbling(int []num){//冒泡排序法 for(int i=0;inum[j+1]){//前一个大于后一个为小到大排序 前一个小于后 ...

  3. ubuntu上安装并使用mysql数据库

    一.安装Mysql 最简单的方式就是apt-get安装 安装核心程序 sudo apt-get install mysql-client-core-5.6 安装客户端程序 sudo apt-get i ...

  4. JAVA 第1课

    JAVA第一课 电脑识别的进制:二进制,八进制,十六进制 二进制来表示高低电压,类似于抗战时期的发报机.2进制的存储 8进制和16进制:计算器,在计算的时候有一定的临时存储,8位或者16位禁止的存储 ...

  5. phpstrom mac 快捷键

    对应键 ⌘——Command ⌃ ——Control ⌥——Option/Alt ⇧——Shift ⇪——Caps Lock fn——功能键就是fn 编辑 Command+alt+T 用 (if..e ...

  6. vue学习笔记——篇3

    1.绑定计算后数据,三种方式: >1.红色框,通过method >2.黄色框,通过computed >3.蓝色框,通过watch 推荐computed,vue对computed做了缓 ...

  7. Mysql慢查询-Mysql慢查询详细教程

    一.简介开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能.二.参数说明slow_query_log 慢查询开启状态slow_quer ...

  8. Python05(运算符)

    Trainning-day04回顾1.Python运算符 + - * / % ** //2.标准输入函数 input() input("输入提示语")3.占位符 生成一定格式的字符 ...

  9. spring cloud使用Feign做消费端时的eureka.client.registerWithEureka/eureka.client.fetchRegistry是否配置的问题

    记录一下今天工作中的一个小失误. 今天用Feign搭建服务消费者的时候,考虑消费者不需要再提供服务给其他服务,所以不需要注册到注册中心(eureka)中.结果把registerWithEureka和f ...

  10. WORD中引用活动文档元素

    要引用活动的段落.表格.域或其他文档元素,可使用 Selection 属性返回一个 Selection 对象.通过 Selection 对象,可访问选定内容中的所有段落或第一段.下列示例将边框应用于选 ...