php用smarty模板语法,Smarty模版设计基本语法
模版中的注释:
{* ……*} //可以包括一行或多行,且注释内容不会在浏览页面源代码中查看到
由PHP分配的模版变量用$开始,可包含字母数字下划线。
在模版中访问关联数组有两种方式:用[],或者用 .
在模版中,使用Smarty的语法总结后只有两种:变量 和 函数
函数:
使用方法如同独立标签,函数名如同标签名,函数参数如同标签属性。
//函数名,后跟参数
例如:{conifg_load file=”./conifgs/conifg.ini”} //载入脚本文件函数
块函数:
使用方法如同闭合标签。
{blockname attr1=”” attr2=”” }
内容
{/blockname}
变量:
Smarty模版中有3中变量应用形式:
1.从PHP中分配的变量(最主要的)
通过Smarty对象的assign()方法可将任意一种数据类型分配给模版使用。
在模版中调用PHP分配的变量需要在前面加上 $ 符号。 //即模版变量诞生在PHP中,再由模版调用
应用:在模版中输出从数据库服务器获取的动态数据信息。
2.从配置文件中读取的变量:
Smarty配置文件中的变量并不是通过PHP脚本去读取的,而是在Smarty模版中直接读取并应用的变量。
3.模版中的保留变量:
即模板已经定义好的内部默认变量,直接使用即可。
{$smary} 就是模板中的保留变量,并且是一个数组类型(二维数组)。
{$smary}变量是Smarty引擎自动已声明好的:
$smarty->assign(“smarty”, array( //第一个smarty是PHP脚本中创建的对象,可自定义;第二个smarty是Smarty引擎默认设定的保留变量,不可改变
“get”=>$_GET,
“post”=>$_POST,
“now”=>time(),
…………
)
);
使用如:$smarty.now 即time()
从配置文件中读取变量
过程:在模版文件中先加载配置文件,再使用当中的变量
配置文件的语法格式:
#注释内容 #使用#号表示注释
变量名=“value” #配置文件不是PHP脚本,所以变量名无 $ 符,结尾无 ; 号,值用双引号括起来,默认为全局变量
[节名] #定义节的名字,以下都是该节中的局部变量
变量名=“value” #本节中的局部变量,覆盖同名的全局变量
变量名=““”很长的
一个
字符串“”” #使用三个引号“”“可以将一个字符串声明在多行
注:在节中声明的变量都是局部变量,在节之外的项都认为是全局的。
配置文件在window下用.ini为后缀名,在Linux下用.conf为后缀名。
加载配置文件
必须先用内建函数 conifg_load 将配置文件加载到模版中才能发文配置变量。
{config_load file=”配置文件名称” } //只能加载配置文件中的全局变量
{config_load file=”配置文件名称” section=“节名”} //加载配置文件中的特定节中的局部变量
在模板中引用配置文件中的变量
配置文件中的变量要用两个#括起,或者用smarty模版的保留变量$smarty.config 来调用
即 {#配置变量名#} //主意没有$符号!
{$smarty.config.配置变量名} //主意没有$符号!
在Smarty模板中的变量调节器
即在模板中用变量调节器函数,在变量输出之前进行一些处理修改。
使用方式:
{$变量|调节器函数名:”参1″:”参2″:”参3″} //参数由冒号隔开
{$变量|调节器函数1|调节器函数2|调节器函数3}
Smarty默认提供的变量调节器函数
这里值写几个常用的:
date_format //日期格式化
escape //转码
Regex_replace //寻找和替换正则表达式
truncate //从字符串开始处截取某长度的字符
Smarty的缓存技术
1.开启缓存
2.指定缓存文件存放目录
3.设置缓存时间周期
$smarty -> caching = 1; //启用缓存
$smarty -> setCacheDir(“./cache”); //指定缓存文件保存的目录
$smarty -> cache_lifetime = 60*60*24*7; //设置缓存时间为1周
$smarty -> display(‘index.tpl’, $_SERVER[‘REQUEST_URI’]); //将新闻ID作为第二个参数提供
php用smarty模板语法,Smarty模版设计基本语法相关推荐
- PHP Smarty 模板,PHP Smarty模板引擎
前言:概念上的东西就简单过一下,细节上的东西就不深究了.作下读书笔记,且该知识点是后续学习MVC框架的一部分. 1.什么是模板引擎 1.1.网站页面模板:即每个页面仅是一个板式,包括结构.样式和页面布 ...
- php smarty模板遍历,smarty模板中for循环的扩展插件_PHP教程
smarty是php开发中非常流行的一个模板,以前曾发过一篇文章php smarty中文截取插件开发示例是说明如何开发smarty插件的,这篇文章将分享一下如何为smarty模板做一个for循环的扩展 ...
- php的smarty模板,PHP Smarty模板的安装
最近开发中用到了PHP中smarty模板..作为一个长久以来的前端,开始学习PHP模板..下面将安装教程分享给大家.. 1. 下载Smarty最新版: http://www.smarty.NET/do ...
- php smarty模板配置,Smarty模板简单配置与使用方法示例
这篇文章主要介绍了Smarty模板简单配置与使用方法,涉及Smarty模板的基本配置与缓存文件的相关使用技巧,需要的朋友可以参考下 本文实例讲述了Smarty模板简单配置与使用方法.分享给大家供大家参 ...
- php smarty模板配置,Smarty模板配置实例简析
本文实例讲述了Smarty模板配置.分享给大家供大家参考,具体如下: Smarty简介 Smarty是一个php模板引擎.更准确的说,它分开了逻辑程序和外在的内容,提供了一种易于管理的方法.可以描述为 ...
- PHP Smarty 模板,PHP Smarty 模板 if函数 foreach函数
从数据库查询数据,浏览器以表格形式显示 模板页面 用户信息表 没有用户查询出来! PHP页面<?php //创建smarty对象 require_once './libs/Smarty.clas ...
- smarty中使用php函数,在smarty模板中使用PHP函数的方法
在smarty模板中使用PHP函数的方法 发布于 2014-11-23 22:57:51 | 174 次阅读 | 评论: 0 | 来源: 网友投递 Smarty模板引擎Smarty是一个使用PHP写出 ...
- smarty模板基础
入口文件 <?phpdefine("ROOT",str_replace("\\","/",dirname(__FILE__)).'/' ...
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第53讲:PHP smarty模板配置及变量操作
陈力:传智播客古代 珍宝币 泡泡龙游戏开发第53讲:PHP smarty模板配置及变量操作 描述: smarty模板技术为PHP程序设计中处理和界面的分离提供了很大的便利.如果分配整型.小数.布尔型. ...
最新文章
- 基于点云强度的3D激光雷达与相机的外参标定
- 动态链接库dll,静态链接库lib, 导入库lib
- mysql dba系统学习(8)查询日志文件功能 mysql dba系统学习(9)slow query log慢查询日志功能
- linux 下oracle启动步骤
- android蓝牙多次后,android – 如何防止BluetoothGattCallback一次多次执行
- PHP中的CURL函数库
- java 对象给对象赋值为空_java中,只声明一个对象不赋值,与声明一个对象并赋为 null 的区别...
- [云原生专题-11]:容器 - 如何构建自己的docker镜像:Docker Dockerfile
- OIBH杯第三次普及组模拟赛T1 立体井字棋
- linux-ubuntu16.04下搭建java运行环境
- 7. gdal进行遥感影像的16位转8位和百分比截断增强(看这篇就够了)
- 运算放大器---封装尺寸
- svm神经网络葡萄酒matlab,【转载】SVM的数据分类预测----意大利葡萄酒种类识别...
- 使用vue-giant-tree根据id定位位置
- 牛客每日练习----分元宵,送分啦-QAQ,字符串的问题
- 如何在电脑上安装虚拟机和系统。全网最全教程,不接受反驳。
- Fashion-mnist数据的读取与保存
- Think Pad E570重装Win10系统没有外放喇叭声音
- Shell显示系统时间的全年日
- Office服务器意外响应,Office 所有使用过程中未响应,崩溃,意外关闭
热门文章
- python简单计算器下载安装到手机_python简单计算器
- python 线程池用法_python 线程池 ThreadPoolExecutor 的用法
- Python库:jieba库中文分词
- MapReduce的API介绍
- centos解压分卷rar_centos解压和压缩rar格式文件
- 固件 日立 硬盘_最强性价比储存方案体验:这硬盘盒,真香!
- ndows定时任务_百度经验,windows服务器:编写bat脚本,创建定时任务
- Hadoop(五)HBase基础
- uFrame近况(2016年4月8日更新)
- OpenShift 4 Hands-on Lab (8) 基于Gogs+Nexus+Sonarqube的Jenkins CI/CD Pipeline