最近用thinkphp写了好几个项目了,感觉很顺手。
今天开发中遇到一个问题,就是模板中if condition判断的时候,我数据库查询出来的数据要经过自己的内置函数处理下才能判断。
研究半天,看了Runtime/Cache生成的代码,最后总结使用办法如下:
代码中我做了两重判断,第一个判断是数据库的字段,第二个判断是用内置函数处理过的数据再做判断
其中checkfilesize是我写的扩展函数,当然这里官方手册也说了支持PHP内置函数,函数调用方法都一样,
这里着重说下传参,我测试checkfilesize($info.id)是失败的,查看了Runtime/Cache生成的代码,发现是参数没传过去。
只能用PHP的语法才可以。其实很多错误是可以经过研究 Runtime/Cache生成的代码 来处理的。
完整代码如下:
<if condition="($info.status eq ‘1’) and (checkfilesize($info[‘id’]) eq ‘1’) ">
正常输出
<else/>
输出失败
</if>