admin 发表于 2022-11-12 21:55:24

赞片CMS下载系统常用标签 函数标签使用

函数标签除程序的函数外还包括PHP函数的标签同样支持;
全站调用

函数使用方法:

函数名(参数1,参数2,参数3)
在模版中可以两种方法使用函数
<pre><code class="ಠhighlight-container"><span class="token punctuation"></span></code><code class="ಠhighlight-container">第一种直接使用

<span class="token punctuation"></span></code><code class="ಠhighlight-container"><span class="token punctuation">{</span><span class="token punctuation">:</span>函数名<span class="token punctuation">(</span>参数<font color="Red"><span class="token number">1</span></font><span class="token punctuation">,</span>参数<font color="Red"><span class="token number">2</span></font><span class="token punctuation">,</span>参数<font color="Red"><span class="token number">3</span></font><span class="token punctuation">)</span><span class="token punctuation">}</span></code><code class="ಠhighlight-container"><span class="token punctuation"></span><span class="token punctuation"></span>

第二种在变量中使用

<span class="token punctuation">{</span>$变量<span class="token operator">|</span>函数名<span class="token operator">=</span>参数<font color="Red"><span class="token number">2</span></font><span class="token punctuation">,</span>参数<font color="Red"><span class="token number">3</span></font><span class="token punctuation">}</span></code></pre>
PHP函数标签使用请参考TP文档
http://www.kancloud.cn/manual/thinkphp5/125005

函数使用方法

我们往往需要对模板输出变量使用函数,可以使用:
<pre><code class="ಠhighlight-container"><span class="token punctuation">{</span>$data<span class="token punctuation">.</span>name<span class="token operator">|</span>md5<span class="token punctuation">}</span>

</code></pre>
<p>编译后的结果是:</p>
<pre><code class="ಠhighlight-container"><span class="token operator"><</span><span class="token operator">?</span>php echo <span class="token punctuation">(</span><font color="Red"><span class="token function">md5</span></font><span class="token punctuation">(</span>$data<span class="token punctuation">[</span><span class="token string">'<font color="Green">name</font>'</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">?</span><span class="token operator">></span>

</code></pre>
<p>如果函数有多个参数需要调用,则使用:</p>
<pre><code class="ಠhighlight-container"><span class="token punctuation">{</span>$create_time<span class="token operator">|</span>date<span class="token operator">=</span><span class="token string">"<font color="Green">y-m-d</font>"</span><span class="token punctuation">,</span>###<span class="token punctuation">}</span>

</code></pre>


表示date函数传入两个参数,每个参数用逗号分割,这里第一个参数是y-m-d,第二个参数是前面要输出的create_time变量,因为该变量是第二个参数,因此需要用###标识变量位置,编译后的结果是:
<pre><code class="ಠhighlight-container"><span class="token operator"><</span><span class="token operator">?</span>php echo <span class="token punctuation">(</span><font color="Red"><span class="token function">date</span></font><span class="token punctuation">(</span><span class="token string">"<font color="Green">y-m-d</font>"</span><span class="token punctuation">,</span>$create_time<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">?</span><span class="token operator">></span>

</code></pre>
<p>如果前面输出的变量在后面定义的函数的第一个参数,则可以直接使用:</p>
<pre><code class="ಠhighlight-container"><span class="token punctuation">{</span>$data<span class="token punctuation">.</span>name<span class="token operator">|</span>substr<span class="token operator">=</span><font color="Red"><span class="token number">0</span><span class="token punctuation">,</span><span class="token number">3</span></font><span class="token punctuation">}</span>

</code></pre>
<p>表示输出</p>
<pre><code class="ಠhighlight-container"><span class="token operator"><</span><span class="token operator">?</span>php echo <span class="token punctuation">(</span><font color="DarkOrange"><span class="token function">substr</span></font><span class="token punctuation">(</span>$data<span class="token punctuation">[</span><span class="token string">'<font color="Green">name</font>'</span><span class="token punctuation">]</span><span class="token punctuation">,</span><font color="Red"><span class="token number">0</span></font><span class="token punctuation">,</span><font color="Red"><span class="token number">3</span></font><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">?</span><span class="token operator">></span>

</code></pre>
<p>虽然也可以使用:</p>
<pre><code class="ಠhighlight-container"><span class="token punctuation">{</span>$data<span class="token punctuation">.</span>name<span class="token operator">|</span>substr<span class="token operator">=</span>###<span class="token punctuation">,</span><font color="Red"><span class="token number">0</span></font><span class="token punctuation">,</span><font color="Red"><span class="token number">3</span></font><span class="token punctuation">}</span>

</code></pre>
<p>但完全没用这个必要。</p>
<p>还可以支持多个函数过滤,多个函数之间用“|”分割即可,例如:</p>
<pre><code class="ಠhighlight-container"><span class="token punctuation">{</span>$name<span class="token operator">|</span>md5<span class="token operator">|</span>strtoupper<span class="token operator">|</span>substr<span class="token operator">=</span><font color="Red"><span class="token number">0</span></font><span class="token punctuation">,</span><font color="Red"><span class="token number">3</span></font><span class="token punctuation">}</span>

</code></pre>
<p>编译后的结果是:</p>
<pre><code class="ಠhighlight-container"><span class="token operator"><</span><span class="token operator">?</span>php echo <span class="token punctuation">(</span><font color="DarkOrange"><span class="token function">substr</span></font><span class="token punctuation">(</span><font color="DarkOrange"><span class="token function">strtoupper</span></font><span class="token punctuation">(</span><font color="DarkOrange"><span class="token function">md5</span></font><span class="token punctuation">(</span>$name<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">,</span><font color="Red"><span class="token number">0</span></font><span class="token punctuation">,</span><font color="Red"><span class="token number">3</span></font><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">?</span><span class="token operator">></span>

</code></pre>
<p>函数会按照从左到右的顺序依次调用。</p>
<p>如果你觉得这样写起来比较麻烦,也可以直接这样写:</p>
<pre><code class="ಠhighlight-container"><span class="token punctuation">{</span><span class="token punctuation">:</span><font color="DarkOrange"><span class="token function">substr</span></font><span class="token punctuation">(</span><font color="DarkOrange"><span class="token function">strtoupper</span></font><span class="token punctuation">(</span><font color="DarkOrange"><span class="token function">md5</span></font><span class="token punctuation">(</span>$name<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">,</span><font color="Red"><span class="token number">0</span></font><span class="token punctuation">,</span><font color="Red"><span class="token number">3</span></font><span class="token punctuation">)</span><span class="token punctuation">}</span>

</code></pre>
变量输出使用的函数可以支持内置的PHP函数或者用户自定义函数,甚至是静态方法。

页: [1]
查看完整版本: 赞片CMS下载系统常用标签 函数标签使用