获取变量的方式
1) 模板中的注释
模板注释被*号包围,例如 < { * this is a comment * } >
2) 从php文件中分配过来的变量
连接数据库获取的变量
经过各种运算得到的结果
类型:
标量:string、int、float(double)、boolean
复合:array、object、null
3)从数据库获取
Smarty 3.1.4版本里关联数组和索引数组一样可以使用[]
$array1 [ ‘ one ’ ]
Smarty2.6.26版本里
关联数组:使用 . 连接下标;
索引数组:使用 [ ] 连接下标;
自定义数组
对象:
对象名 - > 属性
对象名 - > 方法 ( )
变量运算
第二部分:Smarty是以变量为主
1) 注释 < { * …. * } >
2)处理PHP分配过来的变量
标量:string int float double boolean
复合:数据库(mysqli)中获取的数组
自定义的数组
对象
$person->属性(方法())
算数运算
针对分配过来的变量执行各种运算
不能重新赋值
3) 从配置文件读取变量
Smarty提供了配置文件解决界面的选择功能,并不一定要用到,根据实际
情况选择使用
Apache----conf/httpd.conf
Php----- php.ini
Mysql---mysql.ini
Smarty----configs/*.conf
$this->template_dir
$this->compile_dir
$this->configs
不建议将以上目录设置到web跟文档目录下,安全
使用步骤
1) smarty.class.php
var $config_dir = 'configs';
2) 编辑init.inc.php
$tpl->config_dir= ‘configs’;
3)到web跟文档目录之外位置新建文件configs
4)建立文件configs/foo.conf
5)编辑foo.conf文件内容
#表示注释行
自定义变量名=该变量的值
6)打开*.html(tpl)模板文件
加载配置文件 ---使用smarty的内建函数 config_load
< { cofig_load file=”foo.conf” } >
使用变量<{#来自于配置文件的变量名#}>
如果需要将内容放到不同模板文件中,定义节(局部变量)
[节名称]
4) smarty保留变量
PHP中的超全局变量数组
$_GET
第一种:
*.php
$tpl->assign(“page”,$_GET[‘page’]);
*.html(tpl)
<{$page}>
$_POST
$_REQUEST
$_ENV
$_SESSION
$_COOKIE
$_SERVER
$GLOBALS
$_FILES---不用
使用保留变量显示超全局数组
第二种:$smarty.超全局变量数组名.元素的下标名
PHP中的预定义常量P161
__FILE__
__LINE__
__FUNCTION__
__CLASS__
__METHOD__
PHP_OS
PHP_VERSION
TRUE
FALSE
NULL
DIRECTORY_SEPARATOR
PATH_SEPARATOR
E_ERROR
E_WARNING
E_PASER
E_NOTICE
M_PI
第三部分:Smarty变量调节器
1、 变量调节器分隔符 |
作用:修饰变量的显示格式
<{$smarty.now}>时间戳
<{$smarty.now|date_format:%......}>
2、 Smarty中变量调节器详见P556表16-2
3、 capitalize:首字母大写
语法:<{$变量|capitalize}>
count_characters:统计字符数
语法:<{$变量|count_characters:参数}>
参数:true 或false
Cat:连接字符串
语法:<{$变量|cat:”参数”}>
参数:被连接的字符串
Count_paragraphs:统计段落数
语法:<{$变量| Count_paragraphs }>
date_format:时间格式化输出
语法:<{$变量|date_format:”字符串”:“字符串“}>
参数:被连接的字符串
相关推荐
将对象赋值给模板变量后,可以通过对象访问语法在模板中使用它。例如,可以这样赋值:`$smarty->assign('data', $object);`,然后使用`{$data->name}`和`{$data->user}`来访问对象的属性。 Smarty的调节器不仅限于...
- **模板语法**:Smarty使用特殊的语法,如`{$var}`表示输出变量,`{foreach}`用于循环,`{if}`和`{else}`进行条件判断。 - **函数与修饰器**:Smarty内置了一些模板函数,如`{date}`格式化日期,`{cycle}`用于...
- **关联数组**: 如何在模板中使用关联数组及其访问方式。 - **数组下标**: 使用下标访问数组中的元素。 - **对象**: 如何在模板中使用对象及其成员属性。 - **从配置文件读取的变量**: 介绍如何从配置文件加载变量...
要在模板中使用PHP变量,你需要使用`assign`函数将它们传递给Smarty对象,例如`$smarty->assign('variable', $value);`。在模板文件中,你可以通过`{$variable}`来访问这些值。 4. **模板继承** Smarty3.0引入了...
通过`$smarty->assign('variable_name', 'value')`在PHP中设置,然后在模板中使用`{$variable_name}`访问。 3. **配置文件**:Smarty允许设置全局配置,例如模板目录、缓存目录等,这在`config.php`中进行。 4. **...
本篇文章将深入讲解如何在Smarty模板中使用`section`以及其相关属性和变量。 首先,我们来看一个简单的索引数组的例子: ```php $people = array('tony', 'sweety', 'abc', 'four'); $smarty->assign('people', $...
计算机前端-核心编程. Smarty14Smarty常用的变量调节器.avi
- **条件语句使用**:可以在模板文件中使用`{if}`, `{elseif}`, `{else}`, `{/if}`等条件语句,实现更复杂的逻辑控制。 - **自定义插件开发**:可以通过编写自定义插件来扩展Smarty的功能,这些插件可以是一些自定义...
使用`{config_loadfile}`标签可以加载配置文件中的配置项,并将其作为常量或变量在模板中使用。 7. 插入原生代码 在Smarty模板中,使用`{literal}`和`{/literal}`标签可以插入原生的HTML或JavaScript代码,模板引擎...
3. **变量插值**:Smarty支持变量插值,允许在模板中直接使用PHP变量。例如,`{$name}` 将会被替换为PHP中的$name变量的值。 4. **函数和修饰符**:Smarty提供了丰富的内置函数和修饰符,如`{foreach}`用于循环遍历...
计算机前端-核心编程. Smarty05Smarty中的普通变量.avi
配置可以通过`config_load`函数加载,并在模板中使用`{config_load}`访问配置变量。 7. **控制台调试**:Smarty提供了一套调试工具,如`display_errors`可以显示错误信息,`debugging`开启后,可以在页面底部看到...
通过使用变量操作符,开发者可以在模板文件中实现简单的逻辑,保持模板简洁明了。 接下来,我们将探讨20个常用的Smarty变量操作符: 1. {$var}:这是最基本的变量输出,直接显示变量的值。 2. {$var|escape:...
自定义函数可以作为模板中的标签使用,过滤器则可以在变量显示前进行处理,如格式化日期、转换大小写等。 此外,手册中会详细介绍如何集成Smarty到你的PHP项目中,包括安装步骤、基本用法以及如何解决常见问题。你...
而在主文件`index.php`中,我们首先定义了一些字符串变量,然后使用内置的PHP函数(如`strtolower`、`strtoupper`和`ucfirst`)对它们进行处理,并将处理后的结果分配给Smarty模板变量。接着,通过`$_tpl->display('...
在这个手册中,你将找到关于Smarty的安装步骤、基本概念、语法结构、函数参考、配置选项以及常见问题解答等内容。 Smarty的核心特性包括: 1. **模板语言**: Smarty提供了一套简洁但功能强大的模板语言,允许设计...
2. **模板变量(Template Variables)**:在PHP中定义的数据可以通过 Smarty对象传递到模板中,这些变量可以在模板中被引用,显示动态内容。 3. **模板函数和插件(Functions & Plugins)**:Smarty提供了丰富的...
3. **模板继承**:Smarty3支持模板继承,允许创建基础模板,并在子模板中覆盖或扩展特定区域,保持页面布局的一致性。 4. **插件系统**:Smarty3提供了丰富的插件,如函数、修饰符、滤镜等,用于处理数据和增强模板...
2. **变量和函数**:在Smarty模板中,可以使用`{$variable}`来访问PHP中的变量。此外,Smarty还提供了一系列内置函数,如`{function name=arg1 arg2}`,用于格式化数据、处理字符串、操作数组等。 3. **模板继承**...
1. 变量插值:在模板中,可以使用{$variable}来插入PHP变量的值。 2. 控制结构:Smarty支持条件语句(if/else/elseif)和循环(foreach)等,使模板具备一定的逻辑处理能力。 3. 模板函数:类似于PHP函数,如{...