首页 理论教育视图中使用函数-PHPMVC实战

视图中使用函数-PHPMVC实战

【摘要】:在ThinkPHP模板中需要使用“|”分隔符引入函数,然后使用“=”号来为函数赋参。在模板中调用formatTime自定义函数和调用PHP内置的函数是一样的。这里只是简单地演示在模板中怎样使用函数,在实际应用开发中,读者可根据需要在模板标签中引入函数。在ThinkPHP模板引擎中,使用函数嵌套的顺序由左到右,即模板引擎最先解释左边的函数,最终的结果由最右边的函数决定,如以下代码所示。

在传统的PHP编程中,开发人员可以方便地在HTML代码中嵌入逻辑代码,ThinkPHP模板引擎最终也是将模板中的特定标签转换成标准的PHP代码,这些标签可以是语句结构、变量、常量、数组等,当然也包括函数。

假设模板中有一个变量<!--{$addTime}-->,该变量值在控制器动作中直接赋给当前时间戳$this->assign(“addTime”,time())。现在需要输出中文格式的日期及时间。如果使用传统的编程方式,那么代码如下所示。

在ThinkPHP模板中需要使用“|”分隔符引入函数,然后使用“=”号来为函数赋参。上述代码使用模板标签实现,代码如下。

如上述代码所示,$addTime是需要输出的变量,如果直接输出$addTime将会得到一串标准时间戳数字。由于使用“|”引入了date函数,该函数共有2个参数,每个参数使用“,”隔开。其中使用“###”符号表示引用变量自身值。最后得出的结果类似于2012-09-24 14:54:26字符串。

开发人员还可以引用自定义的函数,自定义函数存放在项目的Common/common.php文件中,如以下代码所示。(www.chuimin.cn)

在模板中调用formatTime自定义函数和调用PHP内置的函数是一样的。结合后面介绍的多语言技术,能够轻松地实现同一模板显示多种时间格式的功能。这里只是简单地演示在模板中怎样使用函数,在实际应用开发中,读者可根据需要在模板标签中引入函数。

在模板中还可以嵌套函数,实现更加灵活的功能。函数嵌套与传统的PHP一样能够支持无限层次。在ThinkPHP模板引擎中,使用函数嵌套的顺序由左到右(传统的PHP由里到外),即模板引擎最先解释左边的函数,最终的结果由最右边的函数决定,如以下代码所示。

上述代码转换后的PHP代码如下所示。