时间:2023-05-06 12:22:35 点击次数:7
在实际开发的时候,公司是明确的分工的,php程序员主要负责php代码(业务逻辑相关),web前端程序员主要负责(html、css、JavaScript)(让页面更加美观用户体验更好),模板引擎就起到了模板(界面)与业务逻辑代码相分离的一种解决方案。
模板引擎原理示意图:
Html页面先使用占位符代替,然后模板引擎再从PHP文件读取真实数据,并最终生成一个编译文件,使用真实数据替换占位符
目前模板引擎技术有很多,Laravel框架(blade模板引擎)、ThinkPHP框架(自己的模板引擎技术),这里说一下Smarty模板关于变量的一些介绍。
Smarty简单介绍
使用:
下载Smarty模板,直接加载smarty里面的Smarty.class.php并实例化
视图文件
最终生成的编译文件会默认保存到templates_c这个目录(后期可以修改)
Smarty模板中变量来源
(1)smarty分配(assign)过来的真实数据
(2)配置文件数据
什么是配置文件?
配置文件用来保存一些有规范的、可以在多个文件中公用的数据
(3)smarty保留的变量
这些变量是smarty保留的、内置的,不需要声明、加载,可以直接使用
{$smarty.now},用来获得当前的时间戳
{$smarty.const.常量名},用来获得PHP文件中定义的常量
{$smarty.config},获得配置文件中的配置项
{$smarty.current_dir} ,当前文件所在的目录
PHP文件中定义常量
(4)PHP请求变量
在html模板中,还可以获得PHP提供的http请求是携带的变量、PHP的环境变量等
Smarty模板中变量调节器
变量调节器:就是对模板中的变量进行调节、修饰作用
例如:模板中可以使用{$smarty.now}获得当前的时间戳,用户看不懂时间戳的,所以我们需要对变量进行修饰,将其转换成日期格式就好了
语法:{模板变量|修饰器:传递的参数}
将当前的时间戳转换成日期格式:{$smarty.now|date_format:%Y-%m-%d %H:%M:%S}
PHP文件中设置分配的变量
Smarty学习内容还有很多,像流程控制语句,还有Smarty缓存机制,模板的相关配置,掌握了可以更轻松的上手使用框架。