[prev in list] [next in list] [prev in thread] [next in thread]
List: pear-doc
Subject: [PEAR-DOC] =?utf-8?q?svn:_/pear/peardoc/trunk/en/package/html/html-template-sigma/_intro-syntax.xml?
From: Alexey_Borzov <avb () php ! net>
Date: 2014-01-15 12:24:51
Message-ID: svn-avb-1389788691-332627-1325076809 () svn ! php ! net
[Download RAW message or body]
avb Wed, 15 Jan 2014 12:24:51 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=332627
Log:
Documented the means to customize template syntax (bug #18147)
Bug: http://pear.php.net/bugs/18147 (unknown)
Changed paths:
U pear/peardoc/trunk/en/package/html/html-template-sigma/intro-syntax.xml
Modified: pear/peardoc/trunk/en/package/html/html-template-sigma/intro-syntax.xml
===================================================================
--- pear/peardoc/trunk/en/package/html/html-template-sigma/intro-syntax.xml 2014-01-15 \
12:19:13 UTC (rev 332626)
+++ pear/peardoc/trunk/en/package/html/html-template-sigma/intro-syntax.xml 2014-01-15 \
12:24:51 UTC (rev 332627) @@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<refentry xmlns="http://docbook.org/ns/docbook" version="lillet" \
xml:id="package.html.html-template-sigma.intro-syntax"> +<refentry \
xmlns="http://docbook.org/ns/docbook" xmlns:phd="http://www.php.net/ns/phd" \
version="lillet" xml:id="package.html.html-template-sigma.intro-syntax"> \
<refnamediv> <refname>Introduction - template syntax</refname>
<refpurpose>Creating and editing templates</refpurpose>
@@ -229,6 +229,88 @@
</para>
</refsection>
+ <refsection xml:id="package.html.html-template-sigma.intro-syntax.customization">
+ <info>
+ <title>Customizing the template syntax</title>
+ </info>
+ <para>
+ It is possible to somewhat customize the syntax of templates by changing regular
+ expressions (or their parts) used by Sigma for parsing.
+ </para>
+ <para>
+ The actual regular expressions used to parse templates are generated in \
constructor + using parts specified as class properties. It is generally \
<emphasis>not</emphasis> safe + to change the generated regular expressions (as \
their format is hardcoded in several places + throughout Sigma), but you can \
override the properties: + <variablelist>
+ <varlistentry>
+ <term><phd:pearapi phd:package="HTML_Template_Sigma"
+ phd:linkend="HTML_Template_Sigma::$openingDelimiter">$openingDelimiter</phd:pearapi></term>
+ <listitem><simpara>Start of variable placeholder, defaults to
+ <literal>'{'</literal></simpara></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><phd:pearapi phd:package="HTML_Template_Sigma"
+ phd:linkend="HTML_Template_Sigma::$closingDelimiter">$closingDelimiter</phd:pearapi></term>
+ <listitem><simpara>Start of variable placeholder, defaults to
+ <literal>'}'</literal></simpara></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><phd:pearapi phd:package="HTML_Template_Sigma"
+ phd:linkend="HTML_Template_Sigma::$blocknameRegExp">$blocknameRegExp</phd:pearapi></term>
+ <listitem><simpara>Regular expression part for block names, defaults to
+ <literal>'[0-9A-Za-z_-]+'</literal></simpara></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><phd:pearapi phd:package="HTML_Template_Sigma"
+ phd:linkend="HTML_Template_Sigma::$variablenameRegExp">$variablenameRegExp</phd:pearapi></term>
+ <listitem><simpara>Regular expression part for placeholder names, \
defaults to + \
<literal>'[0-9A-Za-z._-]+'</literal></simpara></listitem> + </varlistentry>
+ <varlistentry>
+ <term><phd:pearapi phd:package="HTML_Template_Sigma"
+ phd:linkend="HTML_Template_Sigma::$functionnameRegExp">$functionnameRegExp</phd:pearapi></term>
+ <listitem><simpara>Regular expression part for function names, defaults \
to + <literal>'[_a-zA-Z][A-Za-z_0-9]*'</literal></simpara></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><phd:pearapi phd:package="HTML_Template_Sigma"
+ phd:linkend="HTML_Template_Sigma::$includeRegExp">$includeRegExp</phd:pearapi></term>
+ <listitem><simpara>Complete regular expression for processing file \
inclusion, defaults to + \
<literal>'#<!--\s+INCLUDE\s+(\S+)\s+-->#im'</literal></simpara></listitem> + \
</varlistentry> + <varlistentry>
+ <term><phd:pearapi phd:package="HTML_Template_Sigma"
+ phd:linkend="HTML_Template_Sigma::$commentRegExp">$commentRegExp</phd:pearapi></term>
+ <listitem><simpara>Complete regular expression for removing template \
comments, defaults to + \
<literal>'#<!--\s+COMMENT\s+-->.*?<!--\s+/COMMENT\s+-->#sm'</literal></simpara></listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <para>
+ To customize some of the above parts you need to subclass
+ <classname>HTML_Template_Sigma</classname> and override the relevant \
properties + so that generated regular expressions will use the new parts. For \
example, + if you want to prevent Sigma treating <literal>{1}</literal> (which \
may appear + as a part of Javascript regular expression) as a placeholder (see
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" \
xlink:href="&url.pear.bug;18147">bug #18147</link>) + you can do the following
+ <programlisting role="php">
+<![CDATA[
+class SanerPlaceholders extends HTML_Template_Sigma
+{
+ var $variablenameRegExp = '[A-Za-z_][0-9A-Za-z._-]*';
+}
+
+$tpl = new SanerPlaceholders();
+$tpl->setTemplate('{foo} {1} {bar}');
+$tpl->setVariable('foo', 'foo value');
+$tpl->show();
+]]>
+ </programlisting>
+ </para>
+ </refsection>
+
<refsection xml:id="package.html.html-template-sigma.intro-syntax.example"><info><title>Usage \
Example</title></info>
<note><info><title>Other usage examples</title></info>
--
PEAR Documentation List Mailing List (http://pear.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic