smarty中调用函数

smarty php 编程进阶笔记
发布日期 2023-01-11 更新日期 2023-01-15 阅读次数 108 文章字数 1.1k

使用分支或循环标签时,支持执行php函数。

比如循环 :

assign("test","1,2,3");

{#foreach json_decode("[$test]",true) as $key=>$val #}
    {#$val#}
{#/foreach#}

使用 if 时:

assign("test",array("1"));

{#if count($test)>0#}
    111
{#/if#}

从某个版本开始【低级过低确实不可以,要用 | 修饰符写法,若特殊函数如count还要写成 |@count】,可以直接调函数,并可执行代码片段。注意和开始标签之间,不要有空格。{#$myTest(3)#},不能写成{# $myTest(3) #}

//测试1
assign("test",array("1"));

{#json_encode($test)#} 

//测试2
function myTest($a,$b){
    return $a+$b;
}

{#myTest(3,4)#}

//测试3
{#count($test)#}

//测试4,执行代码片段

{#$aa = json_decode("[$test]",true)#}

{#foreach $aa as $key=>$val#}
    {#$val#}
{#/foreach#}

注意必须是注册的函数才可以,比如$_GET,$_POST并不是注册进来的。不过也能获取,是通过 $smarty.get 。

 {$smarty.get.page} {* PHP方式:$_GET[“page”] *}  

{$smarty.post.page} {* PHP方式:$_POST[“page”] *}  

{$smarty.cookies.username} {* PHP方式:$_COOKIE[“username”] *}  

{$smarty.session.id} {* PHP方式:$_SESSION[“id”] *}  

{$smarty.server.SERVER_NAME} {* PHP方式:$_SERVER[“SERVER_NAME”] *}  

{$smarty.env.PATH} {* PHP方式:$_ENV[“PATH”]*}  

{$smarty.request.username} {* PHP方式:$_REQUEST[“username”] *}  

 {$smarty.const._MY_CONST_VAL} {* 输出PHP脚本中自定义的常量 *}   

{$smarty.const._MY_CONST_VAL} {* 输出PHP脚本中自定义的常量 *}  

{$smarty.const.__FILE__} {* 通过保留变量数组直接输出系统常量 *}


文章作者: 朱丰华

文章链接: https://smart.52dixiaowo.com/blog/post-313.html

版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。

smarty php

发表评论

相关推荐
朱丰华   |   7个月前   |   php

php判断是否被iframe

221    评论    点赞
朱丰华   |   1年前   |   php

php正则表达式定界符:异常Delimiter must not be alphanumeric or backslash

190    评论    点赞
朱丰华   |   1年前   |   php · 缓存 · opcache

php 加速、提高并发opcache

198    评论    点赞
朱丰华   |   1年前   |   正则 · 表达

正则表达式,实现if...then...else

113    评论    点赞
朱丰华   |   1年前   |   sql · php

PHP如何使用PDO批量执行SQL?

115    评论    点赞
朱丰华   |   1年前   |   php · 字符 · 字符串

如何在 PHP 中将字符串的第一个字母转换为大写

150    评论    点赞
朱丰华   |   1年前   |   php · 字符 · 正则

php正则表达式原生字符

86    评论    点赞
朱丰华   |   1年前   |   字符 · php · 比较

PHP比较字符串大小相关函数

111    评论    点赞
朱丰华   |   1年前   |   php

windows下编写、编译php扩展

158    评论    点赞
朱丰华   |   1年前   |   linux · php

linux下编写、编译php扩展

150    评论    点赞
朱丰华   |   1年前   |   php · 混淆 · obfuscate · git

yakpro-po混淆php代码

106    评论    点赞
朱丰华   |   1年前   |   php

php扩展编译nts的方法

86    评论    点赞
朱丰华   |   1年前   |   linux · 变量 · 环境

linux查看环境变量、设置环境变量

94    评论    点赞
朱丰华   |   1年前   |   js · php · 字符 · 字符串

php json_encode对字符串转义用法

135    评论    点赞
朱丰华   |   1年前   |   php · 捕获

php Fatal error怎么捕获

127    评论    点赞
朱丰华   |   1年前   |   php · 编译

ubuntu、centos系统从源码编译指定版本php--超详细

159    评论    点赞
朱丰华   |   1年前   |   php · git · 编译

从源码编译php

135    评论    点赞
朱丰华   |   1年前   |   php · zend · 反射 · api

php zend引擎api接口:ZENDAPI阅读,反射调用示例

123    评论    点赞
朱丰华   |   1年前   |   php · 引用 · 变量 · c语言

php扩展内存管理与引用计数

127    评论    点赞
朱丰华   |   1年前   |   zend · php · 类型 · zval

php内核zval类型,与基本类型的转换

116    评论    点赞
{{item.author_name}}   |   {{new Date(item.date*1000).log()}}   |   {{it}} ·

{{item.title}}

{{item.uv}}    评论    点赞