1、在传统的PHP编程中,开发人员可以方便地在HTML代码中嵌入逻辑代码,ThinkPHP模版引擎最终也是将模版中的特定标签转换成标准的PHP代码这些标签可以是语句结构、变量、常量、数组等,当然也包括函数。假设模版中有一个变量<!--{$addTime}-->,该变量值在控制器动作中直接赋给当前时间戳$this->assign("addTime",time())。现在需要输出中文格式的日期及时间。如果使用传统的编程方式,那么代码如下所示
2、在ThinkPHP模版中需要使用“|”分隔符引入函数,然后使用“=”号来为函数赋参。上述代码使用模版标签实现,代码如下<!--{$addTime|date="Y-m-d H:i:s",###}-->
3、如上述代码所示,$addTime是需要输出的变量,如果直接输出$addTime将会得到一串标准时间戳数字。由于使用“|”引入了deta函数,该函数共有2个参数,,每个参数使用“,"隔开。其中使用”###“符号表示引用变量自身值。最后得出的结果类似于2017-02-26 09:23:15字符串。开发人员还可以引用自定义的函数,自定义函数存在在项目的Common/common.php文件中,如以下代码所示。
4、在模版中调用formatTime自定义函数和调用PHP内置的函数是一样的。结合后面介绍的多语言技术,能够轻松地实现同意模版显示多种时间的功能。这里只是简单地演示在模版中怎么使用函数,在实际应用开发中,读者可根据需要在模版标签中引入函数。在模版中还可以嵌套函数,实现更加灵活的功能。函数嵌套与传统的PHP一样能够支持无限层次。在ThinkPHP模版引擎中,使用函数嵌套的顺序由左到右(传统的PHP由里到外),即模版引擎最先解释左边的函数,最终的结果由最后边得函数决定,如下代码所示