mirror of
https://github.com/smarty-php/smarty.git
synced 2025-08-02 09:24:28 +02:00
Deployed 0912124c
to 5.x with MkDocs 1.5.3 and mike 2.0.0
This commit is contained in:
@@ -3240,7 +3240,8 @@ then configure Smarty to use that:</p>
|
||||
<div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a><span class="p"><</span><span class="nt">small</span><span class="p">></span>Copyright AC <span class="ni">&amp;</span> ME Corp.<span class="p"></</span><span class="nt">small</span><span class="p">></span>
|
||||
</code></pre></div>
|
||||
<p>Note how the <a href="../../designers/language-modifiers/language-modifier-escape/">escape modifier</a>
|
||||
translated the <code>&</code> character into the proper HTML syntax <code>&amp;</code>.</p>
|
||||
translated the <code>&</code> character into the proper HTML syntax <code>&amp;</code>.
|
||||
Read more about auto-escaping in the <a href="../configuring/">next section</a>.</p>
|
||||
|
||||
|
||||
|
||||
|
@@ -2478,6 +2478,15 @@
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#enabling-auto-escaping" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Enabling auto-escaping
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -3174,6 +3183,15 @@
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#enabling-auto-escaping" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Enabling auto-escaping
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -3311,6 +3329,19 @@ Use <code>getCacheDir()</code> to retrieve the configured path.</p>
|
||||
<a id="__codelineno-3-6" name="__codelineno-3-6" href="#__codelineno-3-6"></a><span class="c1">// get directory where cached templates are stored</span>
|
||||
<a id="__codelineno-3-7" name="__codelineno-3-7" href="#__codelineno-3-7"></a><span class="nv">$cacheDir</span> <span class="o">=</span> <span class="nv">$smarty</span><span class="o">-></span><span class="na">getCacheDir</span><span class="p">();</span>
|
||||
</code></pre></div>
|
||||
<h2 id="enabling-auto-escaping">Enabling auto-escaping</h2>
|
||||
<p>By default, Smarty does not escape anything you render in your templates. If you use
|
||||
Smarty to render a HTML-page, this means that you will have to make sure that you do
|
||||
not render any characters that have a special meaning in HTML, such as <code>&</code>, <code><</code> and <code>></code>,
|
||||
or apply the <a href="../../designers/language-modifiers/language-modifier-escape/">escape modifier</a>
|
||||
to anything you want to render.</p>
|
||||
<p>If you forget to do so, you may break your HTML page, or even create a vulnerability for
|
||||
attacks known as <a href="https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html">XSS or Cross Site Scripting</a>.</p>
|
||||
<p>Luckily, you can tell Smarty to automatically apply the escape modifier to any dynamic part of your template.
|
||||
It's like Smarty magically adds <code>|escape</code> to every variable you use on a web page.</p>
|
||||
<p>Enable auto-escaping for HTML as follows:
|
||||
<div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="x">$smarty->setEscapeHtml(true);</span>
|
||||
</code></pre></div></p>
|
||||
<h2 id="disabling-compile-check">Disabling compile check</h2>
|
||||
<p>By default, Smarty tests to see if the
|
||||
current template has changed since the last time
|
||||
@@ -3318,8 +3349,8 @@ it was compiled. If it has changed, it recompiles that template. </p>
|
||||
<p>Once an application is put into production, this compile-check step
|
||||
is usually no longer needed and the extra checks can significantly hurt performance.
|
||||
Be sure to disable compile checking on production for maximum performance.
|
||||
<div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="cp"><?php</span>
|
||||
<a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="nv">$smarty</span><span class="o">-></span><span class="na">setCompileCheck</span><span class="p">(</span><span class="nx">\Smarty\Smarty</span><span class="o">::</span><span class="na">COMPILECHECK_OFF</span><span class="p">);</span>
|
||||
<div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a><span class="cp"><?php</span>
|
||||
<a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a><span class="nv">$smarty</span><span class="o">-></span><span class="na">setCompileCheck</span><span class="p">(</span><span class="nx">\Smarty\Smarty</span><span class="o">::</span><span class="na">COMPILECHECK_OFF</span><span class="p">);</span>
|
||||
</code></pre></div></p>
|
||||
<p>If <a href="../caching/basics/"><code>caching</code></a> is enabled and compile-check is
|
||||
enabled, then the cache files will get regenerated if an involved
|
||||
@@ -3343,13 +3374,13 @@ strongly encouraged.</p>
|
||||
<p>Smarty\'s internals and core plugins are truly UTF-8 compatible since
|
||||
Smarty 3.1.</p>
|
||||
</blockquote>
|
||||
<div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a><span class="cp"><?php</span>
|
||||
<a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a>
|
||||
<a id="__codelineno-5-3" name="__codelineno-5-3" href="#__codelineno-5-3"></a><span class="c1">// use japanese character encoding</span>
|
||||
<a id="__codelineno-5-4" name="__codelineno-5-4" href="#__codelineno-5-4"></a><span class="nx">mb_internal_charset</span><span class="p">(</span><span class="s1">'EUC-JP'</span><span class="p">);</span>
|
||||
<a id="__codelineno-5-5" name="__codelineno-5-5" href="#__codelineno-5-5"></a>
|
||||
<a id="__codelineno-5-6" name="__codelineno-5-6" href="#__codelineno-5-6"></a><span class="nx">\Smarty\Smarty</span><span class="o">::</span><span class="nv">$_CHARSET</span> <span class="o">=</span> <span class="s1">'EUC-JP'</span><span class="p">;</span>
|
||||
<a id="__codelineno-5-7" name="__codelineno-5-7" href="#__codelineno-5-7"></a><span class="nv">$smarty</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">\Smarty\Smarty</span><span class="p">();</span>
|
||||
<div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a><span class="cp"><?php</span>
|
||||
<a id="__codelineno-6-2" name="__codelineno-6-2" href="#__codelineno-6-2"></a>
|
||||
<a id="__codelineno-6-3" name="__codelineno-6-3" href="#__codelineno-6-3"></a><span class="c1">// use japanese character encoding</span>
|
||||
<a id="__codelineno-6-4" name="__codelineno-6-4" href="#__codelineno-6-4"></a><span class="nx">mb_internal_charset</span><span class="p">(</span><span class="s1">'EUC-JP'</span><span class="p">);</span>
|
||||
<a id="__codelineno-6-5" name="__codelineno-6-5" href="#__codelineno-6-5"></a>
|
||||
<a id="__codelineno-6-6" name="__codelineno-6-6" href="#__codelineno-6-6"></a><span class="nx">\Smarty\Smarty</span><span class="o">::</span><span class="nv">$_CHARSET</span> <span class="o">=</span> <span class="s1">'EUC-JP'</span><span class="p">;</span>
|
||||
<a id="__codelineno-6-7" name="__codelineno-6-7" href="#__codelineno-6-7"></a><span class="nv">$smarty</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">\Smarty\Smarty</span><span class="p">();</span>
|
||||
</code></pre></div>
|
||||
|
||||
|
||||
|
@@ -3203,7 +3203,7 @@ execution of a template</strong>.</p>
|
||||
<tr>
|
||||
<td>scope</td>
|
||||
<td>(optional)</td>
|
||||
<td>The scope of the assigned variable: \'parent\',\'root\' or \'global\'</td>
|
||||
<td>The scope of the assigned variable: 'parent','root' or 'global'</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -3220,7 +3220,7 @@ execution of a template</strong>.</p>
|
||||
<tr>
|
||||
<td>scope</td>
|
||||
<td>(optional)</td>
|
||||
<td>The scope of the assigned variable: \'parent\',\'root\' or \'global\'</td>
|
||||
<td>The scope of the assigned variable: 'parent','root' or 'global'</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -3292,6 +3292,7 @@ is seen by all templates using the same root tree.</p>
|
||||
<a id="__codelineno-8-2" name="__codelineno-8-2" href="#__codelineno-8-2"></a><span class="cp">{</span><span class="nf">assign</span> <span class="s2">"foo"</span> <span class="s2">"bar"</span> <span class="na">scope</span><span class="o">=</span><span class="s2">"global"</span><span class="cp">}</span><span class="x"> </span><span class="cp">{</span><span class="c">* short-hand, or *</span><span class="cp">}</span>
|
||||
<a id="__codelineno-8-3" name="__codelineno-8-3" href="#__codelineno-8-3"></a><span class="cp">{</span><span class="nv">$foo</span><span class="o">=</span><span class="s2">"bar"</span> <span class="na">scope</span><span class="o">=</span><span class="s2">"global"</span><span class="cp">}</span>
|
||||
</code></pre></div>
|
||||
<p>For more information on variable scope, please read the page on <a href="../../language-variables/language-variable-scopes/">variable scopes</a>.</p>
|
||||
<p>To access <code>{assign}</code> variables from a php script use
|
||||
<a href="../../../programmers/api-functions/api-get-template-vars/"><code>getTemplateVars()</code></a>.
|
||||
Here's the template that creates the variable <code>$foo</code>.</p>
|
||||
|
@@ -3503,7 +3503,7 @@ alternate something every so many iterations. Choosing between even or
|
||||
odd rotates which one starts. Here we switch the font color every 3rd
|
||||
iteration.</p>
|
||||
<div class="highlight"><pre><span></span><code><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a><span class="x"> </span><span class="cp">{</span><span class="nf">foreach</span> <span class="nv">$myNames</span> <span class="na">as</span> <span class="nv">$name</span><span class="cp">}</span>
|
||||
<a id="__codelineno-14-2" name="__codelineno-14-2" href="#__codelineno-14-2"></a><span class="x"> </span><span class="cp">{</span><span class="nf">if</span> <span class="nv">$name</span><span class="o">@</span><span class="na">iteration</span> <span class="na">is</span> <span class="na">even</span> <span class="na">by</span> <span class="m">3</span><span class="cp">}</span>
|
||||
<a id="__codelineno-14-2" name="__codelineno-14-2" href="#__codelineno-14-2"></a><span class="x"> </span><span class="cp">{</span><span class="nf">if</span> <span class="nv">$name</span><span class="o">@</span><span class="na">index</span> <span class="na">is</span> <span class="na">even</span> <span class="na">by</span> <span class="m">3</span><span class="cp">}</span>
|
||||
<a id="__codelineno-14-3" name="__codelineno-14-3" href="#__codelineno-14-3"></a><span class="x"> <span style="color: #000"></span><span class="cp">{</span><span class="nv">$name</span><span class="cp">}</span><span class="x"></span></span>
|
||||
<a id="__codelineno-14-4" name="__codelineno-14-4" href="#__codelineno-14-4"></a><span class="x"> </span><span class="cp">{</span><span class="nf">else</span><span class="cp">}</span>
|
||||
<a id="__codelineno-14-5" name="__codelineno-14-5" href="#__codelineno-14-5"></a><span class="x"> <span style="color: #eee"></span><span class="cp">{</span><span class="nv">$name</span><span class="cp">}</span><span class="x"></span></span>
|
||||
|
@@ -3779,11 +3779,11 @@ header block every five rows.</p>
|
||||
<a id="__codelineno-25-13" name="__codelineno-25-13" href="#__codelineno-25-13"></a><span class="x"> </span><span class="cp">{</span><span class="nf">/section</span><span class="cp">}</span>
|
||||
<a id="__codelineno-25-14" name="__codelineno-25-14" href="#__codelineno-25-14"></a><span class="x"></table></span>
|
||||
</code></pre></div>
|
||||
<p>An example that uses the <code>iteration</code> property to alternate a text color every
|
||||
<p>An example that uses the <code>index</code> property to alternate a text color every
|
||||
third row.</p>
|
||||
<div class="highlight"><pre><span></span><code><a id="__codelineno-26-1" name="__codelineno-26-1" href="#__codelineno-26-1"></a><span class="x"><table></span>
|
||||
<a id="__codelineno-26-2" name="__codelineno-26-2" href="#__codelineno-26-2"></a><span class="x"> </span><span class="cp">{</span><span class="nf">section</span> <span class="na">name</span><span class="o">=</span><span class="na">co</span> <span class="na">loop</span><span class="o">=</span><span class="nv">$contacts</span><span class="cp">}</span>
|
||||
<a id="__codelineno-26-3" name="__codelineno-26-3" href="#__codelineno-26-3"></a><span class="x"> </span><span class="cp">{</span><span class="nf">if</span> <span class="nv">$smarty.section.co.iteration</span> <span class="na">is</span> <span class="na">even</span> <span class="na">by</span> <span class="m">3</span><span class="cp">}</span>
|
||||
<a id="__codelineno-26-3" name="__codelineno-26-3" href="#__codelineno-26-3"></a><span class="x"> </span><span class="cp">{</span><span class="nf">if</span> <span class="nv">$smarty.section.co.index</span> <span class="na">is</span> <span class="na">even</span> <span class="na">by</span> <span class="m">3</span><span class="cp">}</span>
|
||||
<a id="__codelineno-26-4" name="__codelineno-26-4" href="#__codelineno-26-4"></a><span class="x"> <span style="color: #ffffff"></span><span class="cp">{</span><span class="nv">$contacts</span><span class="o">[</span><span class="na">co</span><span class="o">].</span><span class="na">name</span><span class="cp">}</span><span class="x"></span></span>
|
||||
<a id="__codelineno-26-5" name="__codelineno-26-5" href="#__codelineno-26-5"></a><span class="x"> </span><span class="cp">{</span><span class="nf">else</span><span class="cp">}</span>
|
||||
<a id="__codelineno-26-6" name="__codelineno-26-6" href="#__codelineno-26-6"></a><span class="x"> <span style="color: #dddddd"></span><span class="cp">{</span><span class="nv">$contacts</span><span class="o">[</span><span class="na">co</span><span class="o">].</span><span class="na">name</span><span class="cp">}</span><span class="x"></span></span>
|
||||
|
@@ -428,6 +428,15 @@
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#escaping" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Escaping
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -3147,6 +3156,15 @@
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#escaping" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Escaping
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -3236,7 +3254,7 @@ being used.</p>
|
||||
<p>Now, let's create the <code>index.tpl</code> file that Smarty will display. This
|
||||
needs to be located in the <a href="../programmers/api-variables/variable-template-dir/"><code>$template_dir</code></a>.</p>
|
||||
<div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a><span class="cp">{</span><span class="c">* Smarty *</span><span class="cp">}</span>
|
||||
<a id="__codelineno-7-2" name="__codelineno-7-2" href="#__codelineno-7-2"></a><span class="x">Hello </span><span class="cp">{</span><span class="nv">$name</span><span class="cp">}</span><span class="x">, welcome to Smarty!</span>
|
||||
<a id="__codelineno-7-2" name="__codelineno-7-2" href="#__codelineno-7-2"></a><span class="x"><h1>Hello </span><span class="cp">{</span><span class="nv">$name</span><span class="o">|</span><span class="na">escape</span><span class="cp">}</span><span class="x">, welcome to Smarty!</h1></span>
|
||||
</code></pre></div>
|
||||
<blockquote>
|
||||
<p><strong>Note</strong></p>
|
||||
@@ -3275,38 +3293,50 @@ directories you intended.</p>
|
||||
</blockquote>
|
||||
<p>Now, run your PHP file. You should see <em>"Hello Ned, welcome to Smarty!"</em></p>
|
||||
<p>You have completed the basic setup for Smarty!</p>
|
||||
<h2 id="escaping">Escaping</h2>
|
||||
<p>You may have noticed that the example template above renders the <code>$name</code> variable using
|
||||
the <a href="../designers/language-modifiers/language-modifier-escape/">escape modifier</a>. This
|
||||
modifier makes string 'safe' to use in the context of an HTML page.</p>
|
||||
<p>If you are primarily using Smarty for HTML-pages, it is recommended to enable automatic
|
||||
escaping. This way, you don't have to add <code>|escape</code> to every variable you use on a web page.
|
||||
Smarty will handle it automatically for you!</p>
|
||||
<p>Enable auto-escaping for HTML as follows:
|
||||
<div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a><span class="x">$smarty->setEscapeHtml(true);</span>
|
||||
</code></pre></div></p>
|
||||
<h2 id="extended-setup">Extended Setup</h2>
|
||||
<p>This is a continuation of the <a href="#installation">basic installation</a>, please read that first!</p>
|
||||
<p>A slightly more flexible way to set up Smarty is to extend the Smarty
|
||||
class and initialize your Smarty
|
||||
environment. So instead of repeatedly setting directory paths, assigning
|
||||
the same vars, etc., we can do that in one place.</p>
|
||||
<div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a><span class="cp"><?php</span>
|
||||
<a id="__codelineno-9-2" name="__codelineno-9-2" href="#__codelineno-9-2"></a>
|
||||
<a id="__codelineno-9-3" name="__codelineno-9-3" href="#__codelineno-9-3"></a><span class="k">use</span> <span class="nx">Smarty\Smarty</span><span class="p">;</span>
|
||||
<a id="__codelineno-9-4" name="__codelineno-9-4" href="#__codelineno-9-4"></a>
|
||||
<a id="__codelineno-9-5" name="__codelineno-9-5" href="#__codelineno-9-5"></a><span class="k">class</span> <span class="nc">My_GuestBook</span> <span class="k">extends</span> <span class="nx">Smarty</span> <span class="p">{</span>
|
||||
<a id="__codelineno-9-6" name="__codelineno-9-6" href="#__codelineno-9-6"></a>
|
||||
<a id="__codelineno-9-7" name="__codelineno-9-7" href="#__codelineno-9-7"></a> <span class="k">public</span> <span class="k">function</span> <span class="fm">__construct</span><span class="p">()</span>
|
||||
<a id="__codelineno-9-8" name="__codelineno-9-8" href="#__codelineno-9-8"></a> <span class="p">{</span>
|
||||
<a id="__codelineno-9-9" name="__codelineno-9-9" href="#__codelineno-9-9"></a> <span class="k">parent</span><span class="o">::</span><span class="na">__construct</span><span class="p">();</span>
|
||||
<a id="__codelineno-9-10" name="__codelineno-9-10" href="#__codelineno-9-10"></a>
|
||||
<a id="__codelineno-9-11" name="__codelineno-9-11" href="#__codelineno-9-11"></a> <span class="nv">$this</span><span class="o">-></span><span class="na">setTemplateDir</span><span class="p">(</span><span class="s1">'/web/www.example.com/guestbook/templates/'</span><span class="p">);</span>
|
||||
<a id="__codelineno-9-12" name="__codelineno-9-12" href="#__codelineno-9-12"></a> <span class="nv">$this</span><span class="o">-></span><span class="na">setCompileDir</span><span class="p">(</span><span class="s1">'/web/www.example.com/guestbook/templates_c/'</span><span class="p">);</span>
|
||||
<a id="__codelineno-9-13" name="__codelineno-9-13" href="#__codelineno-9-13"></a> <span class="nv">$this</span><span class="o">-></span><span class="na">setConfigDir</span><span class="p">(</span><span class="s1">'/web/www.example.com/guestbook/configs/'</span><span class="p">);</span>
|
||||
<a id="__codelineno-9-14" name="__codelineno-9-14" href="#__codelineno-9-14"></a> <span class="nv">$this</span><span class="o">-></span><span class="na">setCacheDir</span><span class="p">(</span><span class="s1">'/web/www.example.com/guestbook/cache/'</span><span class="p">);</span>
|
||||
<a id="__codelineno-9-15" name="__codelineno-9-15" href="#__codelineno-9-15"></a>
|
||||
<a id="__codelineno-9-16" name="__codelineno-9-16" href="#__codelineno-9-16"></a> <span class="nv">$this</span><span class="o">-></span><span class="na">caching</span> <span class="o">=</span> <span class="nx">Smarty</span><span class="o">::</span><span class="na">CACHING_LIFETIME_CURRENT</span><span class="p">;</span>
|
||||
<a id="__codelineno-9-17" name="__codelineno-9-17" href="#__codelineno-9-17"></a> <span class="nv">$this</span><span class="o">-></span><span class="na">assign</span><span class="p">(</span><span class="s1">'app_name'</span><span class="p">,</span> <span class="s1">'Guest Book'</span><span class="p">);</span>
|
||||
<a id="__codelineno-9-18" name="__codelineno-9-18" href="#__codelineno-9-18"></a> <span class="p">}</span>
|
||||
<a id="__codelineno-9-19" name="__codelineno-9-19" href="#__codelineno-9-19"></a>
|
||||
<a id="__codelineno-9-20" name="__codelineno-9-20" href="#__codelineno-9-20"></a><span class="p">}</span>
|
||||
<div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a><span class="cp"><?php</span>
|
||||
<a id="__codelineno-10-2" name="__codelineno-10-2" href="#__codelineno-10-2"></a>
|
||||
<a id="__codelineno-10-3" name="__codelineno-10-3" href="#__codelineno-10-3"></a><span class="k">use</span> <span class="nx">Smarty\Smarty</span><span class="p">;</span>
|
||||
<a id="__codelineno-10-4" name="__codelineno-10-4" href="#__codelineno-10-4"></a>
|
||||
<a id="__codelineno-10-5" name="__codelineno-10-5" href="#__codelineno-10-5"></a><span class="k">class</span> <span class="nc">My_GuestBook</span> <span class="k">extends</span> <span class="nx">Smarty</span> <span class="p">{</span>
|
||||
<a id="__codelineno-10-6" name="__codelineno-10-6" href="#__codelineno-10-6"></a>
|
||||
<a id="__codelineno-10-7" name="__codelineno-10-7" href="#__codelineno-10-7"></a> <span class="k">public</span> <span class="k">function</span> <span class="fm">__construct</span><span class="p">()</span>
|
||||
<a id="__codelineno-10-8" name="__codelineno-10-8" href="#__codelineno-10-8"></a> <span class="p">{</span>
|
||||
<a id="__codelineno-10-9" name="__codelineno-10-9" href="#__codelineno-10-9"></a> <span class="k">parent</span><span class="o">::</span><span class="na">__construct</span><span class="p">();</span>
|
||||
<a id="__codelineno-10-10" name="__codelineno-10-10" href="#__codelineno-10-10"></a>
|
||||
<a id="__codelineno-10-11" name="__codelineno-10-11" href="#__codelineno-10-11"></a> <span class="nv">$this</span><span class="o">-></span><span class="na">setTemplateDir</span><span class="p">(</span><span class="s1">'/web/www.example.com/guestbook/templates/'</span><span class="p">);</span>
|
||||
<a id="__codelineno-10-12" name="__codelineno-10-12" href="#__codelineno-10-12"></a> <span class="nv">$this</span><span class="o">-></span><span class="na">setCompileDir</span><span class="p">(</span><span class="s1">'/web/www.example.com/guestbook/templates_c/'</span><span class="p">);</span>
|
||||
<a id="__codelineno-10-13" name="__codelineno-10-13" href="#__codelineno-10-13"></a> <span class="nv">$this</span><span class="o">-></span><span class="na">setConfigDir</span><span class="p">(</span><span class="s1">'/web/www.example.com/guestbook/configs/'</span><span class="p">);</span>
|
||||
<a id="__codelineno-10-14" name="__codelineno-10-14" href="#__codelineno-10-14"></a> <span class="nv">$this</span><span class="o">-></span><span class="na">setCacheDir</span><span class="p">(</span><span class="s1">'/web/www.example.com/guestbook/cache/'</span><span class="p">);</span>
|
||||
<a id="__codelineno-10-15" name="__codelineno-10-15" href="#__codelineno-10-15"></a>
|
||||
<a id="__codelineno-10-16" name="__codelineno-10-16" href="#__codelineno-10-16"></a> <span class="nv">$this</span><span class="o">-></span><span class="na">setEscapeHtml</span><span class="p">(</span><span class="k">true</span><span class="p">);</span>
|
||||
<a id="__codelineno-10-17" name="__codelineno-10-17" href="#__codelineno-10-17"></a>
|
||||
<a id="__codelineno-10-18" name="__codelineno-10-18" href="#__codelineno-10-18"></a> <span class="nv">$this</span><span class="o">-></span><span class="na">caching</span> <span class="o">=</span> <span class="nx">Smarty</span><span class="o">::</span><span class="na">CACHING_LIFETIME_CURRENT</span><span class="p">;</span>
|
||||
<a id="__codelineno-10-19" name="__codelineno-10-19" href="#__codelineno-10-19"></a> <span class="nv">$this</span><span class="o">-></span><span class="na">assign</span><span class="p">(</span><span class="s1">'app_name'</span><span class="p">,</span> <span class="s1">'Guest Book'</span><span class="p">);</span>
|
||||
<a id="__codelineno-10-20" name="__codelineno-10-20" href="#__codelineno-10-20"></a> <span class="p">}</span>
|
||||
<a id="__codelineno-10-21" name="__codelineno-10-21" href="#__codelineno-10-21"></a>
|
||||
<a id="__codelineno-10-22" name="__codelineno-10-22" href="#__codelineno-10-22"></a><span class="p">}</span>
|
||||
</code></pre></div>
|
||||
<p>Now, we can use <code>My_GuestBook</code> instead of <code>Smarty</code> in our scripts:
|
||||
<div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a><span class="cp"><?php</span>
|
||||
<a id="__codelineno-10-2" name="__codelineno-10-2" href="#__codelineno-10-2"></a><span class="nv">$smarty</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">My_GuestBook</span><span class="p">();</span>
|
||||
<a id="__codelineno-10-3" name="__codelineno-10-3" href="#__codelineno-10-3"></a><span class="nv">$smarty</span><span class="o">-></span><span class="na">assign</span><span class="p">(</span><span class="s1">'name'</span><span class="p">,</span> <span class="s1">'Ned'</span><span class="p">);</span>
|
||||
<a id="__codelineno-10-4" name="__codelineno-10-4" href="#__codelineno-10-4"></a><span class="nv">$smarty</span><span class="o">-></span><span class="na">display</span><span class="p">(</span><span class="s1">'index.tpl'</span><span class="p">);</span>
|
||||
<div class="highlight"><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a><span class="cp"><?php</span>
|
||||
<a id="__codelineno-11-2" name="__codelineno-11-2" href="#__codelineno-11-2"></a><span class="nv">$smarty</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">My_GuestBook</span><span class="p">();</span>
|
||||
<a id="__codelineno-11-3" name="__codelineno-11-3" href="#__codelineno-11-3"></a><span class="nv">$smarty</span><span class="o">-></span><span class="na">assign</span><span class="p">(</span><span class="s1">'name'</span><span class="p">,</span> <span class="s1">'Ned'</span><span class="p">);</span>
|
||||
<a id="__codelineno-11-4" name="__codelineno-11-4" href="#__codelineno-11-4"></a><span class="nv">$smarty</span><span class="o">-></span><span class="na">display</span><span class="p">(</span><span class="s1">'index.tpl'</span><span class="p">);</span>
|
||||
</code></pre></div></p>
|
||||
|
||||
|
||||
|
@@ -355,6 +355,15 @@
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#source-code" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Source code
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
@@ -3116,6 +3125,15 @@
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#source-code" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Source code
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
@@ -3158,10 +3176,15 @@ and 480 for $height, the result is:
|
||||
</ul>
|
||||
<h2 id="help">Help</h2>
|
||||
<ul>
|
||||
<li><a href="https://github.com/smarty-php/smarty/issues">Search or create an issue</a></li>
|
||||
<li><a href="upgrading/">Upgrading from an older version</a></li>
|
||||
<li><a href="appendixes/tips/">Some random tips & tricks</a></li>
|
||||
<li><a href="appendixes/troubleshooting/">Troubleshooting</a></li>
|
||||
</ul>
|
||||
<h2 id="source-code">Source code</h2>
|
||||
<ul>
|
||||
<li><a href="https://github.com/smarty-php/smarty">Smarty repository at GitHub</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
File diff suppressed because one or more lines are too long
Binary file not shown.
Reference in New Issue
Block a user