smarty引入流程

1. 控制器IndexAction.class.php

function index()

$this -> display(); (父类Action的display)

2. 父类ThinkPHP/Lib/Core/Action.class.php

function display()

$this->view->display

3. ThinkPHP/Lib/Core/View.class.php

function display()

$this->fetch()

function fetch()

tag(‘view_parse‘,$params);

ThinkPHP/Conf/tags.php

view_parse => parseTemplate(Behavior行为)

4. 行为ThinkPHP/Lib/Behavior/parseTempateBehavior.class.php

function run()

$class = "TemplateSmarty";

$tpl = new $class

$tpl -> fetch()

5. TemplateSmarty.class.php

ThinkPHP/Extend/Driver/Template/TemplateSmarty.class.php

function fetch()

vendor(‘Smarty.Smarty#class‘);

//ThinkPHP/Extend/Vendor/Smarty/Smarty.class.php

获取真正的smarty

new Smarty();

C()函数会读取配置变量信息(convertion.php config.php)

时间: 05-21

smarty引入流程的相关文章

thinkphp 官方文件执行引入流程

官方手册上的执行流程图: 系统流程 用户URL请求 调用应用入口文件(通常是网站的index.php) 载入框架入口文件(ThinkPHP.php) 记录初始运行时间和内存开销 系统常量判断及定义 载入框架引导类(Think\Think)并执行Think::start方法进行应用初始化 设置错误处理机制和自动加载机制 调用Think\Storage类进行存储初始化(由STORAGE_TYPE常量定义存储类型) 部署模式下如果存在应用编译缓存文件则直接加载(直接跳转到步骤22) 读取应用模式(由A

模板引擎(smarty)知识点总结

首先我们必须知道使用smarty的流程   1.引入   2.实例化   3.配置 模板目录  编译目录  3.0版本 支持不存在的目录则新建   4.赋值   5.编译显示 某个模板文件(暗示需要哪个文件) 案例1: 1 include('./lib/Smarty.class.php');$smarty = new Smarty(); 2 3 $smart->template_dir = './tmp';//设置模板文件目录 4 5 $smarty->compile_dir = './com

如何设置流程的默认版本

业务流程用工作流软件管理系统来管理流程后,业务的流转都用流程的节点来标识.业务的办理信息在流程节点的表单中完成,录入,保存,业务流转,条件流,顺序流,分支流,并行流,等等.用工作流系统来管理一目了然.业务流程启动后,业务的流转就按照流程设计图来流转和办理.当后续业务有了修改后,流程就需要增加版本,不能直接修改原有的流程,否则已经运行结束了的流程实例就没有追踪的轨迹图了.正在运行的流程实例也可能发生紊乱,所以必须引入流程的版本管理. 当业务流程新建的时候,是1.0的版本,后续有了修改后,增加到2.

20150210--Smarty1-01

模板引擎--Smarty上 目录 模板引擎--Smarty上 1 一.模板引擎 2 1.什么是模板引擎 2 2.模板引擎原理 3 3.封装一个小型的模板引擎 4 二.Smarty模板引擎 5 1.什么是Smarty模板引擎 5 2.下载安装Smarty 5 3.为什么要选择Smarty 6 4.使用Smarty 6 5.编译原理 8 6.smarty执行流程 10 7.smarty几个常用属性与方法 10 三.设计篇 12 一.模板引擎 1.什么是模板引擎 模板引擎,是指利用某种模板语言将页面制

大搜车前端开发模式:被动编译和主动编译

最近,梳理了一下公司的前端开发体系,准备给已经工作一年多的原有体系引入一些新的开发模式,其实也不算新了,只是对于我们一直采用的模式来说,是两个完全不同的方向,以前,我崇尚简单,一直按照简单易用的理念构建了公司现有的前端开发体系,现在随着人数的增多和业务的复杂度提升,感觉是时候引入一些差异化的开发体系了. 说来说去有点绕的慌,上面一段中说的 传统的开发模式,在团队内部我们叫做 被动编译,而新的开发方式,在团队内部叫做 主动编译. 被动编译 可能很多人对于被动编译都不是很熟悉,因为这种开发方式现在并

深入浅出Node.js (2) - 模块机制

2.1 CommonJS规范 2.1.1 CommonJS的出发点 2.1.2 CommonJS的模块规范 2.2 Node的模块实现 2.2.1 优先从缓存加载 2.2.2 路径分析和文件定位 2.2.3 模块编译 2.3 核心模块 2.3.1 JavaScript核心模块的编译过程 2.3.2 C/C++核心模块的编译过程 2.3.3 核心模块的引入流程 2.3.4 编写核心模块 2.4 C/C++扩展模块 2.4.1 前提条件 2.4.2 C/C++扩展模块的编写 2.4.3 C/C++扩

在线音乐迎来大变局 掘金粉丝各出奇招

在线音乐在2016年将真正迎来其十年孕育期后的大爆发,在版权最严令的利好下,模式之变将更深层次的在粉丝经济下全面展开,而谁能真正让粉丝在长期的共享经济熏陶下,乐于慷慨解囊. 文/张书乐 据媒体报道,10日,多米音乐宣布获得华谊.磐石.七匹狼及喜之郎联合投资.同时,多米音乐宣布与中国移动旗下全资子公司咪咕文化达成合作,除了在音乐领域开展线上线下深度捆绑合作外,还将在视频.阅读.游戏.动漫各方面为粉丝提供全方位的服务,探索在线音乐新的盈利模式. 这是继网易云音乐.QQ音乐.百度音乐等多个平台之后,又

NodeJS(0) - NodeJS Overview

第1章 Node简介         1.1 Node的诞生历程         1.2 Node的命名与起源                 1.2.1 为什么是JavaScript                 1.2.2 为什么叫Node         1.3 Node给JavaScript带来的意义         1.4 Node的特点                 1.4.1 异步I/O                  1.4.2 事件与回调函数               

2016/04/29 smarty模板 1, 初步 目标 : 变量 运算符 表达式 流程控制 函数

① 从配置文件中读取配置: 1,在模板页面加载配置文件 html页面 不是php页面 <{config_load file='fo.conf'}> 2,在需要用到配置的地方加 <{#size#}> 3, 如果配置文件分了块,要取某一块的配置 用到section <{config_load file='aa.conf' section='aa'}> ② 调用变量调节器: | capitalize 单词首字母大写<{$test|capitalize}  cat  连接

Smarty模板引擎技术(一)

一.Smarty模板引擎简介 什么是smarty? Smarty是采用php写的一个模版引擎,设计的目的是要将php代码与html代码分离,使php程序员只专注于php代码的编写,网页美工只专注于网页的美化 没有模版引擎时出现的问题? html中php代码比重越来越大 页面的数量越来越多 程序设计与美工设计分工不明确 传统的php文件: 1. php代码跟html混编在一起,不利于程序员和美工的分工,程序员和美工不能同时修改一个文件 2.数据的传递同一页面传递,php数据在页面中的显示需要使用p