![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Smarty和ThinkPHP
Chris-Chang
You got a dream, you gotta protect it!
展开
-
7. Smarty3:模版中自定义函数
在模版中使用的Samrty自定义标签有“函数”和“块”两种形式。编写的方式相似,和添加修改器插件的操作步骤完全相同: 一种是将PHP脚本中编写的函数注册到Samrty对象中称为Samrty标签;另一种是以特定的文件的方式扩充Samrty函数插件1. 为Samrty模版扩充函数插件1.1 registerPlugin()方法动态扩充插件使用registerPlugin()方法动态注册一个函数插原创 2016-04-02 16:38:29 · 975 阅读 · 0 评论 -
6. Smarty3:自定义变量调解器插件
如果有一些变量在模版中需要特殊处理,系统中默认的变量调节器又没有提供这样的功能,就可以自定义变量调节器。smarty提供了两种扩充插件的机制:通过Smarty对象中的registerPlugin()方法,将PHP编写的函数,注册到Smarty对象中,并在模版中使用 像系统默认的变量调节器一样,在Smarty库文件所在目录下的Plugins目录中,创建一个特定的文件扩展插件。1. 使用regist原创 2016-03-25 16:00:26 · 687 阅读 · 0 评论 -
5. Smarty3:默认的变量调解器
1. 变量调解器的使用方式变量如果在模版中输出以前需要调解,可以在变量后面跟一个竖线“|”,在后面使用调解的命令(函数插件).而且对于同一变量,可以通过”|”来分隔使用多个调解器。{$var|modifier:"args1":"args2":···}{*使用modifier调解器及参数*}{$var|modifier1|modifier2|modifier3|···}{*使用多个变量调解器*}{原创 2016-03-25 15:59:30 · 578 阅读 · 0 评论 -
4. Smarty3:模版中的变量应用
在smarty模版中无非就是”变量”和”函数”两种语法格式。在Smarty模版中又分为三种可用的变量形式。从PHP中分配变量 从配置文件中读取变量在模版中使用保留变量1. 从PHP中分配变量前面的博客介绍过了2. 从配置文件中读取变量为Smarty模版声明配置文件以后,需要用户可以改变的行为,就在配置文件中定义一个对应的变量,并在模版中读取后使用。如果用户需要修改界面外观。只要简单地修改一下原创 2016-03-25 15:56:39 · 516 阅读 · 0 评论 -
2.Smarty3:基本应用
1. PHP程序员常用Smarty操作1.1 assign()方法调用该方法为Smarty模版文件中的变量赋值,可以传递一对名称/数值对,一个可以传递包含名称/数值对的关联数组,支持任何PHP所支持的数据类型//指定一对"名称/值"的使用方式$smarty->assign("name","victory");//将字符串"victory"赋给模版中的变量{$name}$smarty->assig原创 2016-03-24 11:42:09 · 527 阅读 · 0 评论 -
1.Smarty3:概述
Smarty是一个从应用程序中剥离表现层的工具,是一种从程序逻辑层(PHP)抽出外在(HTML/CSS)描述的PHP框架 但Smarty不是MVC框架,它只是一种描述层,即(V)。1. Smarty优点速度编译型缓存技术插件技术强大的表现逻辑模版继承2. Smarty安装到 官网 下载Smarty 解压压缩包,抽取libs文件夹,复制到主程序文件夹下,其他文件夹没有用在执原创 2016-03-24 11:39:29 · 679 阅读 · 0 评论 -
3.Smarty3:基本语法
smarty模版中的使用的语法大致为两种:1.变量 2.函数。一般来说好的做法时最低限度地使用模版语法,将其专注于表现外在的内容。如果语法太过于复杂,则最好将与外在表现无关的后台处理通过插件或调节器交给PHP处理。说明一下:以下每个实例我使用的定界符为<{}>.1. 模版注释 包围在定界标记”{” 和 “}”之间的都是注释内容,可以包括一行或多行。与html中的”<–! HTML注释–>”不同原创 2016-03-24 11:43:45 · 449 阅读 · 0 评论 -
10.Smarty3:缓存控制
HTTP协议的无状态造成了对于每次页面的请求,都要重复地执行相同的操作,而不论数据是否被修改。但对于一些经常不变的信息,如果不想每次都重复执行相同的操作,就可以在第一次访问PHP应用程序时,将动态获取的HTML代码保存为静态页面,形成缓存文件。1. 在smarty中控制缓存smarty 缓存不同于smarty编译。smarty编译功能在默认情况下时启用的。而缓存则必须由开发人员显式开启。编译的过程原创 2016-04-03 17:41:12 · 1495 阅读 · 0 评论 -
9. Smarty3:模版继承
有好多网站各个页面都采用相同的风格,但是如果每个页面都是独立地去开发模版,工作量会比较大,即使采用“复制”去修改局部的方式也不是很理想,如果要修改页面风格,每个页面都要修改。模版继承可以解决这个问题,只要父模版修改,子模版一样会变化1. 使用{extends}函数实现模版继承smarty模版继承和面向对象非常相似,它允许你定义一个或多个基模版供子模版继承。但是所有文件都必须在运行时检查修改设置,更原创 2016-04-03 16:26:51 · 1130 阅读 · 0 评论 -
8. Smarty3:模版中的内置函数
smarty3中对内置函数的改动比较大,添加了许多新的功能:变量声明,表达式,流程控制,函数,数组等。但是建议不要在模版中去使用过于复杂的逻辑,而是要尽量将一些程序设计逻辑写到PHP中,并在模版中采用非常简单的语法即可调用。通常只在模版中进行一些如变量输出,流程判断及数组遍历等操作即可。1. 变量声明在模版中声明变量或用来在模版运行时为模版变量赋值,这是在Smarty3中新增的功能。使用{assi原创 2016-04-03 12:04:59 · 1747 阅读 · 0 评论 -
Lnmp ThinkPHP5 开启pathinfo支持
我在wnmp环境下的代码正常运行,但是放在lnmp环境下发现ThinkPHP5的pathinfo失效,导致Route:rule也无法使用。即使按官网网上说的添加一些代码也只是首页有用,点击其他页面仍然可能导致404或者500错误。最终找到了以下解决方案。最后会贴出我的配置1. 修改 /usr/local/php/etc/php.ini 文件搜索cgi.fix_pathinfo=0,将其值改...原创 2018-03-20 08:31:06 · 1471 阅读 · 0 评论