当前位置:首页 > 日记 > 正文

在Smarty模板引擎的基本知识介绍

在Smarty模板引擎的基本知识介绍
本文阐述了Smarty模板引擎的基本知识,分享给你参考。以下是如下:

1。基本概念

1。MVC是什么

MVC是一种开发模式,其核心思想是:数据的输入、数据的处理以及数据显示的强制分离。

2。什么是Smarty

Smarty是一个PHP模板引擎,更特别的是,它可以帮助开发人员更好的单独的程序逻辑和页面显示。

The operating principle of 3.smarty

模板文件是显示要显示的数据由占位符替换的数据的模板。

当smarty运行,它会读取模板文件,替换占位符的模板文件的实际数据,并输出处理的PHP文件,这是由服务器。

两。为自己写一个模板

为了更好地理解Smarty模板,现在自己写的Smarty模板- minismarty,让自己更了解Smarty运行原理。

1。新项目minismarty

新的模板文件路径:模板

编译后的文件路径的新建模板文件:templates_c

新的模板文件:intro.tpl

新的运行文件index.php

建立你自己的聪明,即处理模板文件:cls_minismarty.php

2。写的index.php文件
< PHP
require_once。 / cls_minismarty PHP的;
minismarty美元=新minismarty();
数据传输
minismarty美元->分配(标题
minismarty美元->分配(内容
将数据传输到显示
minismarty美元->显示(介绍。物流);
>
三.写intro.tpl文件
{ $标题}
{内容}

本文在一个占位符的形式,和Smarty的作用是取代占位符的内容转化为实际数据。

在这种方式中,模板文件和数据文件可以被迫分开,和数据传输可以通过Smarty进行。

4。写cls_minismarty.php文件
< PHP

*
*它最初通过Smarty模板引擎的数据提供的模板
*现在模拟编写模板以向模板提供数据的类。
*文件运行时,读取模板文件,替换模板文件到一个运行的PHP文件
*服务器真正运行的文件是处理过的文件。
* /
类minismarty {
/模板文件路径
VaR template_dir美元= , / / 模板;
将要替换的文件路径模板文件
VaR templates_c_dir美元= , / / templates_c;
存储变量值
VaR tpl_vars美元=阵();
主要的方法是模拟2

*添加数据
*参数1:键
*参数2:值,默认为null。
* /
功能分配(tpl_var美元美元,var = null){
如果(tpl_var美元!=){
美元-> tpl_vars { $ tpl_var } = $ / /无功;将数据添加到阵列
}
}

*显示数据
*参数1:显示哪个模板文件
* /
功能显示($ tpl_file){
得到/路径模板文件
tpl_file_path美元=美元-> template_dir。tpl_file美元;
获取模板文件是编译的文件路径。
compile_file_path美元=美元-> templates_c_dir。com_ 。tpl_file美元。;
/ /找到
如果(!file_exists($ tpl_file_path)){
返回false;
}
/不是每一代编译的文件,只有编译过的文件不存在,或者修改模板文件来生成新的编译文件。
等效于已编译的文件缓存。
/ /个功能:获取文件的生成时间
如果(!file_exists($ compile_file_path)| |个($ tpl_file_path)>个($ compile_file_path)){
读取模板文件内容
fpl_file_content = file_get_contents美元(美元tpl_file_path);
美元($ fpl_file_content纽世达= myReplace);
替换字符串以生成一个新文件,该文件是已编译的文件。
file_put_contents(compile_file_path美元,美元纽世达);
}
在编译后的文件中
包括compile_file_path美元;
}

*替换模板文件中的内容以获取新字符串
* /
功能myReplace($ fpl_file_content){
$模式=数组(
/ { * $({ } { } a-za-z_ a-za-z0-9_ *) * } /我
);
$ =数组(
tpl_vars {$ { 1 }}
);
纽世达美元= preg_replace(合模式,取代美元,美元fpl_file_content);
返回纽世达;
}
}
>
介绍了preg_replace方法。

参数1:替换规则

参数2:替换内容

参数3:替换操作的内容

5。运行结果

标题和内容如下所示:
结论:

实际运行的文件是不是也intro.php index.php文件,但两Smarty动作后:

com_intro.tpl.php.the数据文件是index.php,显示intro.tpl布局,以及中间的桥是Smarty。

Smarty的作用是接受数据,填写数据(模板中的占位符),和负载的替换文件。

三。解释Smarty的细节

1。如何配置Smarty

解压后,复制libs文件夹的项目目录,然后创建2个文件夹模板和templates_c,分别设置模板文件和模板编译文件。

2。使用smarty注释

(1)替换变量的指示符。

因为默认标识符是{ }中的冲突和样式样式,所以您需要修改默认标识符,一般修改为:{ } }

(2)修改标识符的方法。

方法1:直接修改Smarty的源代码:不推荐。

方法:利用Smarty的方法修改方法。

Smarty美元-> left_delimiter ={ <;
Smarty美元-> right_delimiter => };
Smarty的基本配置

Smarty美元-> template_dir = , /模板; / /模板路径
Smarty美元-> compile_dir = , / templates_c / /编译器的路径;
Smarty美元->缓存= false; / /使用缓存
Smarty美元-> cache_dir = , / smarty_cache ; / /如果你使用缓存:缓存路径
3.smarty模板配置变量的技术细节

总之,PHP支持的各种数据都可以分配。

PHP基本数据:int双弦bool

复合数据类型:数组对象

特殊数据类型:资源null

希望本文能对大家的PHP程序设计有所帮助。

相关文章

清明节特别QQ签名

清明节特别QQ签名

清明节,电脑软件,QQ,不要让他充满柔情,掏空自己。 我一直躲在你身边,故意躲着你。 我不想被感动得太容易被我的冷漠所感动。 我是否喜欢别人不喜欢我。 我的心在雨中蒸发成云,但它不会淋湿你。 不重要不重要,但不被现实打扰。 说到这里,你必须增…

js实现类似于动画动画效果的方法

js实现类似于动画动画效果的方法

动画效果,方法,动画,类似于,电脑软件,本文演示了js如何在jQuery中实现动画动画的类似效果: 这个例子可以实现鼠标的移动,宽度先改变,然后高度改变,最后透明度改变,鼠标移动,然后依次返回效果。 点一点: Startrun(对象,属性,目标,FN) box.onmouseover …

霸道男子个性签名

霸道男子个性签名

霸道,个性签名,男子,电脑软件,痛苦只会记得你的好。 爱是一个照顾她的儿子从一个男性父亲的母亲的女人。 时间不长,但我保证你不会去。 爱你的人可能不会说很多爱你的话,但她会为你做很多的爱。 我的心受创伤和创伤有多强烈。 最悲哀的不是咆…

办公室WPS使用小技巧

办公室WPS使用小技巧

小技巧,办公室,电脑软件,WPS,办公室WPS使用小技巧 由于计算机性能瓶颈,使用办公资源总是很高,于是放弃办公,转向WPS的怀抱,似乎很好。 嗯,希腊教育是一个新的联盟,作者用WPS作为我写的故事没有什么麻烦,向我提出这个问题。 在输入面积和体积中,通常…

js实现了用鼠标闪烁来旋转色块的方

js实现了用鼠标闪烁来旋转色块的方

方法,闪烁,实现了,用鼠标,电脑软件,本文阐述了js实现一个带有鼠标闪烁的色块的方法,供大家参考,具体实现方法如下: 复制代码代码如下所示: js的闪烁颜色块与鼠标 如果(文件all){ 颜色=新的数组('ff0000 ','00ff00 ','3366ff ','ff00ff '…

PS图象处理软件的美丽外表美LOMO效

PS图象处理软件的美丽外表美LOMO效

图象,处理软件,朦胧,外表,效果,本教程介绍节能效果LOMO的朋友使用PS图象处理软件美丽的朦胧,最终教程调出来的效果真的很好,但难度不是很大,建议家庭的脚步,喜欢的朋友可以跟着教程一起学习 在这里,我想与你分享PS图象处理软件的美丽的美丽的LOM…

ai绘制一个超级逼真的3D鼠标模型

ai绘制一个超级逼真的3D鼠标模型

绘制,模型,鼠标,3D,逼真,本教程是向朋友介绍一个绘制超现实的3D鼠标模型的朋友。从教程中提取的鼠标非常真实和立体。建议像你这样的朋友来学习,希望能帮助你。 Adobe Illustrator是工业标准的矢量插画软件出版、多媒体和在线图像。无论是…

javascript生成动态雨背景效果的实现方法

javascript生成动态雨背景效果的实现方法

方法,动态,背景,效果,电脑软件,本文介绍了用javascript实现动态雨背景效果的方法,供大家参考,具体的实现方法如下: 复制代码代码如下所示: javascript产生的动态雨背景效应 无功rainsize = 40; var速度= 10; 新数组(); 新数组(); 新数组(); 新数组(); 新数组(); 无功d…

幽默经典情人签名

幽默经典情人签名

幽默,情人,经典,电脑软件,跑的快与慢的糖果,死无全尸。 长而高有物,长注定注定孤独。 我的前女友现在的男朋友请照顾我的前女友。 我前男友的女朋友,请照顾我的前男友。 没有烦恼,没有悲伤,没有黄金,没有白银,你有我。 此时此刻,这一点,你什么都不要…

在AI中把封闭路径分割成一行的详细

在AI中把封闭路径分割成一行的详细

分割,详细教程,路径,中把,电脑软件,在AI,封闭路径是如何分割成一个线段的很多朋友都不会,下面我们详细的介绍一下AI封闭路径拆分成一个线段的教程,有需要的朋友可以参考下。 AI中的封闭路径如何拆分成单独的行简单的演示。 1,先打开软件,方法是…

使用ajaxfileupload.js实现异步上

使用ajaxfileupload.js实现异步上

上传文件,异步,例子,电脑软件,ajaxfileupload,Ajax不能提交文件,所以当我们上传图片和预览,我们经常使用的ifame方法实现一个看似异步的效果。但这往往是不方便。ajaxfilleupload.js裹上面的方法,所以我们不需要管理的一系列操作iframe,也没有…

恋爱中的夫妻签名

恋爱中的夫妻签名

夫妻,恋爱,电脑软件,温顺的动物。 一个温柔淑女的流氓。 比起游戏和金钱,我更喜欢你笑。 我更害怕你皱眉,而不是害怕黑暗和鬼魂。 打开欺负模式; 对不起,你的脑子不太好。 我有孤独和无法行走的酒。 我有孤独和烟,不能和我一起散步。 很多夏天赤…