在 ThinkCMF 8(基于 ThinkPHP)的模板引擎 ThinkTemplate 中,eq 和 == 作用类似,都是用于 判断相等,但它们的使用场景略有不同:
1. eq(标签表达式)
eq 是 ThinkTemplate 语法中的 运算符别名,用于模板中的标签条件判断:
<if condition="$vo.status eq 1">
启用
</if>
Code language: HTML, XML (xml)
等价于:
<if condition="$vo.status == 1">
启用
</if>
Code language: HTML, XML (xml)
ThinkTemplate 提供了多个运算符的别名,如:
• eq ➝ ==(等于)
• neq ➝ !=(不等于)
• gt ➝ >(大于)
• lt ➝ <(小于)
• egt ➝ >=(大于等于)
• elt ➝ <=(小于等于)
2. ==(PHP 原生运算符)
在 ThinkTemplate 支持的 原生 PHP 代码 或 {} 语法中,可以直接使用 ==:
{if $vo.status == 1}
启用
{/if}
Code language: HTML, XML (xml)
3. 区别
语法 | 适用场景 | 示例 | 说明 |
---|---|---|---|
eq | ThinkTemplate <if condition=””> 语法 | <if condition=”$vo.status eq 1″> | 适用于模板标签,提升可读性 |
== | PHP 语法、ThinkTemplate {if} | {if $vo.status == 1} | 可在 {} 结构中使用 |
4. 哪个更推荐?
• 模板标签 (<if condition=””>) 内 推荐使用 eq,更符合 ThinkCMF/ThinkPHP 规范。
• PHP 代码 ({} 结构) 内 推荐使用 ==,符合 PHP 习惯。
如果你的模板里主要用的是 ThinkPHP 的 <if condition=””> 结构,最好使用 eq,保持一致性。