yaf twig配置
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配置的更多相关文章
- php扩展yaf 按照配置
Yaf,全称 Yet Another Framework,是一个C语言编写的PHP框架,是一个用PHP扩展形式提供的PHP开发框架, 相比于一般的PHP框架, 它更快. 它提供了Bootstrap, ...
- yaf路由配置规则
使用框架的默认路由来访问的时候,会遇到一些困扰,这部分无法查看源代码,只能通过猜测来分析. 如果项目有多个模块,显然使用yaf的默认的静态路由是无法满足需求的. yaf默认的配置是着这样的: appl ...
- yaf框架安装配置
YAF中文文档:http://www.laruence.com/manual/index.html 1 YAF框架是用C开发的,属于PHP的扩展框架: 2 YAF的性能相对于源生PHP,性能只降低不到 ...
- Yaf零基础学习总结4-Yaf的配置文件
在上一节的hello yaf当中我们已经接触过了yaf的配置文件了, Yaf和用户共用一个配置空间, 也就是在Yaf_Application初始化时刻给出的配置文件中的配置. 作为区别, Yaf的配置 ...
- yaf学习之——yaf安装
yaf的github源码地址 https://github.com/laruence/yaf 第一步: 下载dll扩展: http://pecl.php.net/package/yaf/2.3.5/w ...
- php中yaf框架的服务器配置
1 yaf 扩展 wget http://pecl.php.net/get/yaf-3.0.4.tgz /usr/local/php/bin/phpize ./configure --with-ph ...
- windows下扩展yaf,并生成yaf框架文件
YAF中文文档:http://www.laruence.com/manual/index.html 1 YAF框架是用C开发的,属于PHP的扩展框架: 2 YAF的性能相对于源生PHP,性能只降低不到 ...
- php拓展安装
Yaf安装配置:http://www.laruence.com/manual/yaf.install.html#yaf.installation.linux 下载Yaf的最新版本, 解压缩以后, 进入 ...
- Yaf框架的配置
http://www.laruence.com/manual/yaf.ini.html //先看一下惠新宸鸟哥yaf官网的配置说明 我们可以在php.ini中定义开发环节配置项,把本地开发设置成dev ...
随机推荐
- Java 面试题集锦
都是一些非常非常基础的题,是我最近参加各大IT公司笔试后靠记忆记下来的,经过整理献给与我一样参加各大IT校园招聘的同学们,纯考Java基础功底,老手们就不用进来了,免得笑话我们这些未出校门的孩纸们,但 ...
- windows下Go升级及GoLand的安装激活
之前在qor/China上问golang项目包有没有一键安装,有位朋友给出了回复: 于是,尝试了下升级Go,目前版本是1.10.1,现升级为为1.12.2.步骤如下: 一.下载安装包 下载地址:htt ...
- 后端程序员必会常用Linux命令总结
1. 调整终端窗口大小: ctrl + '-' 缩小, ctrl + shift + '=' 放大. 2. command --help 查询命令详细 或者 man command 3.ls命令, ...
- 增强for、iterator迭代器
因为初学java,对部分语法还模棱两可, 在做练习的时候,用增强for遍历字符串编译报错 所以来复习下增强for原理和适用范围 一.增强for概念 增强for(也成为for each循环)是JDK 1 ...
- Burpsuite安全测试测试指导
1 Burpsuite简介 Burpsuite是一款安全领域非常重要的Web扫描工具(或者说是平台),它用于攻击Web应用程序.在Burp Suite上集成了各种扫描工具插件,各个集成插件可以组 ...
- cafee编译错误几个总结
1.CXX/LD -o .build_release/examples/siamese/convert_mnist_siamese_data.bin .build_release/lib/libcaf ...
- python基础知识总结(二)
基础数据类型初始: int(数字):+ 加 - 减 * 乘 / 除 % 取余数 str(字符串):python中凡是用引号引起来的都是字符串 可以相加,用来表示字符串的拼接 可以相乘,只能 ...
- 2018-2019-1 20165318 20165326 实验五 通讯协议设计.md
目录 实验内容 问题及解决 参考资料 实验内容 任务一 在Ubuntu中完成作业 openSSL OpenSSL是一个SSL协议的开源实现,采用C语言作为开发语言,具备了跨平台的能力,支持Unix/L ...
- 计算1~100之间,能被3整除但是不能被7整除的数的和(C语言)
#include<stdio.h> int main(agrc *agrv) { int n,i; int sum=0; scanf("%d",&n); for ...
- javascript 飞机大战完整代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...