前提假设:
分配了一个数组array给Smarty,假设Smarty的分界符为'{' 和'}'。
在很多资料上都看到,在Smarty中要求数组的长度时,可以用在数组后便加|count的方法调用。即通过{array|count}获得array的长度。但是今天在写模板时,发现这样得不到数组的长度,而只是得到一个返回的字符串Array。也就是说仅仅是返回了{array}的结果,而没有返回其array的长度。
查看smarty\plugins文件夹,发现并没有count的相关方法,也就是说,count是直接调用了php中的方法。
后来通过网络上的资料,发现可以在count前面加@,从而正确的获取数组的长度。再进一步查看Smarty的源码,发现Smarty对属性调节器后边的方法名进行处理时,会对前边加@的进行特殊处理。因此作出判断:在Smarty中的属性调节器中调用php中定义好的函数时,可以通过加@来表示。
1、对类型为数组的方法进行测试时,发现不加@符号都会出错。比如:要对一个数组调用count方法求出数组的长度,就可以这样调用{array|@count},而要对数组调用end方法得出数组的最后一组数据时,则可以通过{array|@end}。
2、在对字符串的相关函数进行测试,发现加不加@都可以正常的调用。
3、其他的尚未认真测试。对于在smarty中调用复杂的php函数不予鼓励,因为Smarty的本意就是要实现代码和模板分离,应该认定模板就是界面设计的人员用的,如果过多地加复杂逻辑,对他们来说就是一种折磨了。
分享到:
相关推荐
7\查看变量方法:打开smarty的调试输出开关即可。includes/smarty.php文件中的第18行。 7\更多功能期待您的参与! 计划中的开发: 一键安装 其它程式请精通PHP的朋友进行修改吧. 版权诚明: 本程式是个人作品,您可以...
SmartyServiceProvider SmartyServiceProvider提供与[Smarty]( )模板引擎的集成。... 在提供程序的register()方法期间调用它。 例如,您可以使用此选项进行一些自定义的灵巧配置。 服务 smarty :
[三六例 PHP开发环境(Windows方式二)][三七例 PHP开发环境(Linux方式一)][三八例 PHP开发环境(Linux方式二)][三九例 PHP开发环境(Linux方式三)][四十例 Curl模拟表单提交][四一例 Smarty模板][四二例 加载规范例子]...
7.5.6 通过回调函数执行正则表达式 7.5.6 的搜索和替换——preg_replace_ 7.5.6 callback 114 7.5.7 用正则表达式进行字符串分割 7.5.7 ——preg_split 115 7.6 字符操作的注意事项 117 7.7 小结 118 第8章 数组操作...
7、使用Smarty模板引擎,分离表现层与业务层。 8、提供统一的自动加载模式和统一的命名空间。 9、提供技术人员开发调式工具及错误跟踪系统。 10、基于页面URL和表单(隐藏域)Action的驱动架构。 11、自动生成...
商品详情(AJAX 回调数据) 购物车 调整 程序重大修改: 缓存重写 模板重写 程序大量优化 =====================================================================================================...
5\运用国际流行的SMARTY技术,参数可调. 6\模板自定义编辑,不同类型可以交叉调用. 7\友情链接自定义,自定义CSS风格. 8\一键修复所有数据结构。 9\读写分流技术,不会造成数据丢失。 PHP+TXT站点管理系统v1.1更新: 1...
7、使用smarty模板引擎,分离表现层与业务层。 8、提供统一的自动加载模式和统一的命名空间。 9、提供技术人员开发调式工具及错误跟踪系统。 10、基于页面url和表单(隐藏域)action的驱动架构。 11、自动生成...
4、使用Smarty模板引擎,分离表现层与业务层。 5、提供统一的自动加载模式和统一的命名空间。 6、基于页面URL和表单(隐藏域)Action的驱动架构。 7、支持多个项目管理。 8、高安全性,内置Filter组件实现过滤机制,...
5\运用国际流行的SMARTY技术,参数可调. 6\模板自定义编辑,不同类型可以交叉调用. 7\友情链接自定义,自定义CSS风格. 8\一键修复所有数据结构。 9\读写分流技术,不会造成数据丢失。 10\更多功能等待您发现。 更新日志...
7、使用smarty模板引擎,分离表现层与业务层。 8、提供统一的自动加载模式和统一的命名空间。 9、提供技术人员开发调式工具及错误跟踪系统。 10、基于页面url和表单(隐藏域)action的驱动架构。 11、自动生成数据库表...
7、使用smarty模板引擎,分离表现层与业务层。 8、提供统一的自动加载模式和统一的命名空间。 9、提供技术人员开发调式工具及错误跟踪系统。 10、基于页面url和表单(隐藏域)action的驱动架构。 11、自动生成...
Tommy framework是一个简单易用易于扩展的轻量级PHP框架,遵循Apache2开源协议发布。本框架操作灵活而不失功能强大,使用简单而又能扩展自如。作为PHP框架里的 “后起者...三、灵活的MODULE扩展设计,能够非常容易地调
7、使用smarty模板引擎,分离表现层与业务层。 8、提供统一的自动加载模式和统一的命名空间。 9、提供技术人员开发调式工具及错误跟踪系统。 10、基于页面url和表单(隐藏域)action的驱动架构。 11、自动生成...
7、使用Smarty模板引擎,分离表现层与业务层。 8、提供统一的自动加载模式和统一的命名空间。 9、提供技术人员开发调式工具及错误跟踪系统。 10、基于页面URL和表单(隐藏域)Action的驱动架构。 11、自动生成...