cvs: smarty /docs/ru getting-started.xml
"Antony Dovgal" <[email protected]>
| Newsgroups | gmane.comp.php.cvs.smarty |
|---|---|
| Message-ID | <cvstony20011085994368@cvsserver> |
tony2001 Mon May 31 05:06:08 2004 EDT
Modified files:
/smarty/docs/ru getting-started.xml
Log:
lots of grammatical fixes
--
Smarty CVS Mailing List (http://cvs.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
tony2001-20040531050608.txt
(text/plain, 33.8 KB)
http://cvs.php.net/diff.php/smarty/docs/ru/getting-started.xml?r1=1.2&r2=1.3&ty=u
Index: smarty/docs/ru/getting-started.xml
diff -u smarty/docs/ru/getting-started.xml:1.2 smarty/docs/ru/getting-started.xml:1.3
--- smarty/docs/ru/getting-started.xml:1.2 Sun Apr 18 13:02:23 2004
+++ smarty/docs/ru/getting-started.xml Mon May 31 05:06:08 2004
@@ -4,202 +4,259 @@
<chapter id="what.is.smarty">
<title>×òî òàêîå Smarty?</title>
<para>
- Smarty - øàáëîííûé äâèæîê äëÿ php. Áîëåå îïðåäåëåííî, îí ïðåäîñòàâëÿåò
- óïðàâëÿåìûé ñïîñîá ðàçäåëåíèÿ ïðèêëàäíîé ëîãèêè è ñîäåðæàíèÿ îò
- ïðåäñòàâëåíèÿ. Ýòî î÷åíü óäîáíî â ñèòóàöèÿõ, êîãäà ïðîãðàììèñò è
- ïðîåêòèðîâùèê øàáëîíà èãðàþò ðàçëè÷íûå ðîëè, èëè â ÷àñòî - ýòî
- ðàçëè÷íûå ëþäè. Íàïðèìåð, ñêàæåì, Âû ñîçäàåòå ñòðàíèöó, êîòîðàÿ
- ïîêàçûâàåò ãàçåòíóþ ñòàòüþ. Íàçâàíèå ñòàòüè, àâòîð è ñàìà ñòàòüÿ -
- åëåìåíòû, êîòîðûå íå ñîäðæàò íèêàêîé èíôîðìàöèè î òîì, êàê îíè
- áóäóò ïðåäñòàâëåíû. Èõ ïåðåäàþò â Smarty â ïðèëîæåíèè, à ïðîåêòèðîâùèê
- øàáëîíà ðåäàêòèðóåò øàáëîíû è èñïîëüçóåò êîìáèíàöèþ òýãîâ HTML è
- òýãîâ øàáëîíà, ÷òîáû îòôîðìàòèðîâàòü ïðåäñòàâëåíèå ýòèõ ýëåìåíòîâ
- (òàáëèöû HTML, ôîíîâûå öâåòà, ðàçìåðû øðèôòà, ñòèëÿ, è ò.ä.). Îäíàæäû
- ïðîãðàììèñò çàõî÷åò èçìåíèòü ñïîñîá õðàíåíèÿ ñòàòüè (ñäåëàòü èçìåíåíèÿ
- â ëîãèêå ïðèëîæåíèÿ.) Ýòî èçìåíåíèå íå çàòðàãèâàåò ïðîåêòèðîâùèêà øàáëîíîâ.
- Ñîäåðæàíèå áóäåò âñå åùå ïåðåäàâàòüñÿ â øàáëîí òàêèì æå ñàìûì ñïîñîáîì.
- Àíàëîãè÷íî, åñëè ïðîåêòèðîâùèê øàáëîíà õî÷åò ïîëíîñòüþ ïåðåïðîåêòèðîâàòü
- øàáëîíû, ýòî íå ïîòðåáóåò íèêàêèõ èçìåíåíèé ê ïðèêëàäíîé ëîãèêå. Ïîýòîìó,
- ïðîãðàììèñò ìîæåò äåëàòü èçìåíåíèÿ â ïðèêëàäíîé ëîãèêå áåç ïîòðåáíîñòè
- èçìåíåíèÿ øàáëîíîâ, à ïðîåêòèðîâùèê øàáëîíà ìîæåò äåëàòü èçìåíåíèÿ â
- øàáëîíàõ áåç èçìåíåíèÿ ïðèêëàäíîé ëîãèêè.
- </para>
- <para>
- Òåïåðü êîðîòêî î òîì, ÷åãî íå ìîæåò Smarty. Îí íå ïûòàåòñÿ ïîëíîñòüþ
- ðàçäåëèòü ëîãèêó îò øàáëîíîâ. Íåò íèêàêîé ïðîáëåìû ñ ëîãèêîé â âàøèõ
- øàáëîíàõ ïðè óñëîâèè, ÷òî ýòî ñòðîãî ëîãèêà ïðåäñòàâëåíèå. Ñîâåòà:
- äåðæèòå ïðèêëàäíóþ ëîãèêó âíå øàáëîíîâ, à ëîãèêó ïðåäñòàâëåíèÿ âíå
- ïðèëîæåíèÿ. Òàê ïðîùå âñåãî ñîõðàíèòü ïðîåêò óïðàâëÿåìûì è ðàñøèðÿåìûì
- â òå÷åíèå äîëãîãî âðåìåíè.
- </para>
- <para>
- Îäèí èç óíèêàëüíûõ àñïåêòîâ â Smarty - êîìïèëèðîâàíèå øàáëîíîâ. Ýòî
- îçíà÷àåò, ÷òî Smarty ÷èòàåò ôàéëû øàáëîíîâ è ñîçäàåò php ñöåíàðèè èç íèõ.
- Îíè ñîçäàþòñÿ îäèí ðàç è ïîòîì òîëüêî âûïîëíÿþòüñÿ. Ïîýòîìó íåòó
- íåîáõîäèìîñòè îáðàáàòûâàòü ôàéë øàáëîíà äëÿ êàæäîãî çàïðîñà, è êàæäûé
- øàáëîí ìîæåò ïîëüçîâàòüñÿ âñåìè ïðåèìóùåñòâàìè êýøèðóþøèõ ðåøåíèé
- php êîìïèëÿòîðà òàêèõ, êàê Zend Accelerator
- (<ulink url="&url.zend;">&url.zend;</ulink>) èëè PHP Accelerator
- (<ulink url="&url.php-accelerator;">&url.php-accelerator;</ulink>).
+ Smarty - ýòî êîìïèëèðóþùèé îáðàáîò÷èê øàáëîíîâ äëÿ PHP è íà PHP.
+ Ãîâîðÿ áîëåå ÷åòêî, îí ïðåäîñòàâëÿåò îäèí èç èíñòðóìåíòîâ, êîòîðûå
+ ïîçâîëÿåò äîáèòüñÿ ðàçäåëåíèÿ ïðèêëàäíîé ëîãèêè è îò
+ ïðåäñòàâëåíèÿ. Ýòî î÷åíü óäîáíî â ñèòóàöèÿõ, êîãäà ïðîãðàììèñò è
+ âåðñòàëüùèê øàáëîíà - ðàçëè÷íûå ëþäè. Íàïðèìåð, ñêàæåì, âû ñîçäàåòå
+ ñòðàíèöó, êîòîðàÿ ïîêàçûâàåò ãàçåòíóþ ñòàòüþ. Íàçâàíèå ñòàòüè, àâòîð
+ è ñàìà ñòàòüÿ - ýëåìåíòû, êîòîðûå íå ñîäåðæàò íèêàêîé èíôîðìàöèè î òîì, êàê îíè
+ áóäóò ïðåäñòàâëåíû. Èõ ïåðåäàþò â Smarty èç ïðèëîæåíèÿ, à âåðñòàëüùèê
+ øàáëîíà ðåäàêòèðóåò øàáëîíû è èñïîëüçóåò êîìáèíàöèþ òýãîâ HTML è
+ òýãîâ øàáëîíà, ÷òîáû îòôîðìàòèðîâàòü ïðåäñòàâëåíèå ýòèõ ýëåìåíòîâ
+ (òàáëèöû HTML, ôîíîâûå öâåòà, ðàçìåðû øðèôòà, ñòèëÿ è ò.ä.). Îäíàæäû
+ ïðîãðàììèñò çàõî÷åò èçìåíèòü ñïîñîá õðàíåíèÿ ñòàòüè (ñäåëàòü èçìåíåíèÿ
+ â ëîãèêå ïðèëîæåíèÿ.) Ýòî èçìåíåíèå íå âûçîâåò èçìåíåíèé â øàáëîíàõ.
+ Ñîäåðæàíèå áóäåò âñå åùå ïåðåäàâàòüñÿ â øàáëîí òàêèì æå ñàìûì ñïîñîáîì.
+ Àíàëîãè÷íî, åñëè âåðñòàëüùèê çàõî÷åò ïîëíîñòüþ ïåðåïðîåêòèðîâàòü
+ øàáëîíû, ýòî íå ïîòðåáóåò íèêàêèõ èçìåíåíèé ê ïðèêëàäíîé ëîãèêå.
+ </para>
+ <para>
+ Òåïåðü êîðîòêî î òîì, ÷åãî íå ìîæåò Smarty. Îí íå ïûòàåòñÿ ïîëíîñòüþ
+ ðàçäåëèòü ëîãèêó îò øàáëîíîâ. Íåò íèêàêîé ïðîáëåìû ñ ëîãèêîé â âàøèõ
+ øàáëîíàõ ïðè óñëîâèè, ÷òî ýòî ñòðîãî ëîãèêà ïðåäñòàâëåíèÿ. Ñîâåò:
+ äåðæèòå ïðèêëàäíóþ ëîãèêó âíå øàáëîíîâ, à ëîãèêó ïðåäñòàâëåíèÿ âíå
+ ïðèëîæåíèÿ. Òàê ïðîùå âñåãî ñîõðàíèòü ïðîåêò óïðàâëÿåìûì è ðàñøèðÿåìûì
+ â òå÷åíèå äëèòåëüíîãî âðåìåíè.
+ </para>
+ <para>
+ Îäíà èç óíèêàëüíûõ âîçìîæíîñòåé Smarty - êîìïèëèðîâàíèå øàáëîíîâ. Ýòî
+ îçíà÷àåò, ÷òî Smarty ÷èòàåò ôàéëû øàáëîíîâ è ñîçäàåò PHP-êîä íà èõ îñíîâå.
+ Êîä ñîçäà¸òñÿ îäèí ðàç è ïîòîì òîëüêî âûïîëíÿåòñÿ. Ïîýòîìó íåò
+ íåîáõîäèìîñòè îáðàáàòûâàòü ôàéë øàáëîíà äëÿ êàæäîãî çàïðîñà è êàæäûé
+ øàáëîí ìîæåò ïîëüçîâàòüñÿ âñåìè ïðåèìóùåñòâàìè òàêèõ êýøèðóþøèõ ðåøåíèé,
+ êàê Zend Accelerator
+ (<ulink url="&url.zend;">&url.zend;</ulink>) èëè PHP Accelerator
+ (<ulink url="&url.php-accelerator;">&url.php-accelerator;</ulink>).
</para>
<para>
- Íåêîòîðûå âîçìîæíîñòè Smarty:
+ Íåêîòîðûå îñîáåííîñòè Smarty:
</para>
<itemizedlist>
- <listitem><para>Îí î÷åíü áûñòð.</para></listitem>
- <listitem><para>Îí ýôôåêòèâåí, òàê êàê PHP îáðàáîò÷èê äåëàåò ãðÿçíóþ
- ðàáîòó</para></listitem>
- <listitem><para>Íèêàêîé ëèøíåé îáðàáîòêè øàáëîíîâ, îíè êîìïèëèðóþòüñÿ
- òîëüêî îäèí ðàç.</para></listitem>
- <listitem><para>Ïåðåêîìïèëèðóþòñÿ òîëüêî òå øàáëîíû, êîòîðûå
- èìåíèëèñü.</para></listitem>
- <listitem><para>Âû ìîæåòå ñîçäàâàòü ïîëüçîâàòåëüñêèå<link linkend="language.custom.functions">ôóíêöèè</link> and <link linkend="language.modifiers">ìîäèôèêàòîðû</link>, òàê ÷òî ÿçûê øàáëîíîâ ÷ðåçâû÷àéíî ðàñøèðÿåì.</para></listitem>
- <listitem><para>Íàñòðàèâàåìûå ðàçäåëèòåëè òýãîâ øàáëîíà, òî åñòü âû ìîæåòå
- èñïîëüçîâàòü {}, {{}}, <!--{}-->, è ò.ä..</para></listitem>
- <listitem><para>If/elseif/else/endif êîíñòðóêöèè ïåðåäàþòñÿ PHP îáðàáîò÷èêó,
- òàê ÷òî ñèíòàêñèñ {if ...} âûðàæåíèÿ ìîæåò áûòü íàñòîëüêî ïðîñòûì èëè
- êîìïëåêñíûì, êàê âàì íðàâèòñÿ.</para></listitem>
- <listitem><para>Äîïóñòèìî íåîãðàíè÷åííîå âëîæåíèå ñåêöèé, óñëîâèé è
- ò.ä.</para></listitem>
- <listitem><para>Âîçìîæíî âêëþ÷àòü php êîä ïðÿìî â âàø øàáëîí, õîòÿ ýòî
- íå äîëæíî òðåáîâàòüñÿ (íå ðåêîìåíäóåòñÿ), â ñèëó òîãî, ÷òî äâèæîê ãèáêî
- íàñòðàèâàåìûé.</para></listitem>
- <listitem><para>Âñòðîåíîå êýøèðîâàíèå</para></listitem>
- <listitem><para>Ïðîèçâîëüíûå èñòî÷íèêè øàáëîíà</para></listitem>
- <listitem><para>Ïðîèçâîëüíûå ôóíêöèè îáðàáîòêè êýøèðîâàíèÿ</para></listitem>
- <listitem><para>Ïîääåðæêà ïëàãèíîâ</para></listitem>
+ <listitem>
+ <para>
+ Îí î÷åíü áûñòð
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Îí ýôôåêòèâåí, òàê êàê PHP îáðàáîò÷èê äåëàåò çà íåãî ãðÿçíóþ ðàáîòó
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Íèêàêîé ëèøíåé îáðàáîòêè øàáëîíîâ, îíè êîìïèëèðóþòñÿ òîëüêî îäèí ðàç
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Ïåðåêîìïèëèðóþòñÿ òîëüêî òå øàáëîíû, êîòîðûå èìåíèëèñü
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Âû ìîæåòå ñîçäàâàòü ïîëüçîâàòåëüñêèå
+ <link linkend="language.custom.functions">ôóíêöèè</link> è
+ <link linkend="language.modifiers">ìîäèôèêàòîðû</link>, ÷òî äåëàåò ÿçûê
+ øàáëîíîâ ÷ðåçâû÷àéíî ðàñøèðÿåìûì
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Íàñòðàèâàåìûå ðàçäåëèòåëè òýãîâ øàáëîíà, òî åñòü âû ìîæåòå
+ èñïîëüçîâàòü {}, {{}}, <!--{}-->, è ò.ä..
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ If/elseif/else/endif êîíñòðóêöèè ïåðåäàþòñÿ PHP îáðàáîò÷èêó,
+ òàê ÷òî ñèíòàêñèñ {if ...} âûðàæåíèÿ ìîæåò áûòü íàñòîëüêî ïðîñòûì èëè
+ êîìïëåêñíûì, êàê âàì íðàâèòñÿ
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Äîïóñòèìî íåîãðàíè÷åííîå âëîæåíèå ñåêöèé, óñëîâèé è ò.ä.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Ñóùåñòâóåò âîçìîæíîñòü âêëþ÷åíèÿ PHP-êîäà ïðÿìî â âàø øàáëîí, îäíàêî ýòî
+ íå ðåêîìåíäóåòñÿ
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Âñòðîåíîå êýøèðîâàíèå
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Ïðîèçâîëüíûå èñòî÷íèêè øàáëîíà
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Ïðîèçâîëüíûå ôóíêöèè îáðàáîòêè êýøèðîâàíèÿ
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Ïîääåðæêà ïëàãèíîâ
+ </para>
+ </listitem>
</itemizedlist>
</chapter>
+
<chapter id="installation">
- <title>Èíñòàëÿöèÿ</title>
+ <title>Óñòàíîâêà</title>
<sect1 id="installation.requirements">
<title>Òðåáîâàíèÿ</title>
<para>
- Smarty íåîáõîäèì âåáñåðâåð ñ çàïóùåíûì PHP âåðñèè 4.0.6 èëè âûøå.
+ Äëÿ óñòàíîâêè è ðàáîòû Smarty íåîáõîäèì âåá-ñåðâåð ñ óñòàíîâëåííûì PHP âåðñèè 4.0.6 èëè âûøå.
</para>
</sect1>
-
<sect1 id="installing.smarty.basic">
<title>Áàçîâàÿ èíñòàëÿöèÿ</title>
- <para>
- Èíñòàëèðóéòå áèáëèîòå÷íûé ôàéëû Smarty, êîòîðûå àíàõîäÿòñÿ â ïàïêå /libs/
- äèñòðèáóòèâà. Âû ÍÅ ÄÎËÆÍÛ ðåäàêòèðîâàòü ýòè ôàéëû. Îíè ðàçäåëåíû ñðåäè
- âñåõ ïðèëîæåíèé è ìîãóò èçìåíÿòüñÿ òîëüêî ïðè îáíîâëåíèè Smarty.
- </para>
- <example>
- <title>Áèáèëîòå÷íûå ôàéëû Smarty</title>
+ <para>
+ Ñêîïèðóéòå ôàéëû Smarty, êîòîðûå íàõîäÿòñÿ â äèðåêòîðèè /libs/ äèñòðèáóòèâà.
+ ÍÅ ÌÅÍßÉÒÅ ýòè ôàéëû. Èñïîëüçéòå âîçìîæíîñòè âíåøíåé íàñòðîéêè âìåñòî
+ ýòîãî.
+ </para>
+ <example>
+ <title>Ôàéëû Smarty</title>
<screen>
+<![CDATA[
Smarty.class.php
Smarty_Compiler.class.php
Config_File.class.php
debug.tpl
-/plugins/*.php (âñå ôàéëû!)</screen>
- </example>
-
- <para>
- Smarty èñïîëüçóåò PHP êîíñòàíòó <link
- linkend="constant.smarty.dir">SMARTY_DIR</link>, êîòîðàÿ óêàçûâàåò ïóòü ê
- áèáëèîòå÷íûì ôàéëàì Smarty. Îáû÷íî, åñëè ïðèëîæåíèå ìîæåò íàéòè ôàéë
- <emphasis>Smarty.class.php</emphasis>, òî íåò íåîáõîäèìîñòè óñòàíàâëèâàòü
- SMARTY_DIR, Èíà÷å, åñëè <emphasis>Smarty.class.php</emphasis> íå â âàøåì
- include_path, èëè âû íå óêàçûâàëè àáñîëþòíûé ïóòü ê íåìó â ïðèëîæåíèè, òî
- âû äîëæíû îïðåäåëèòü SMARTY_DIR âðó÷íóþ. SMARTY_DIR <emphasis>äîëæåí</emphasis>
- âêëþ÷àòü çàâåðøàþùèé ñëýø.
- </para>
- <para>
- Êàê íàäî ñîçäàâàòü îáåêò Smarty â âàøèõ PHP ñöåíàðèÿõ:
- </para>
-
- <example>
+/plugins/*.php (âñå ôàéëû!)
+/core/*.php (âñå ôàéëû!)
+]]>
+ </screen>
+ </example>
+ <para>
+ Smarty èñïîëüçóåò PHP êîíñòàíòó <link
+ linkend="constant.smarty.dir">SMARTY_DIR</link>, êîòîðàÿ óêàçûâàåò ïóòü ê
+ ôàéëàì Smarty. Îáû÷íî, åñëè ïðèëîæåíèå ìîæåò íàéòè ôàéë
+ <emphasis>Smarty.class.php</emphasis>, òî íåò íåîáõîäèìîñòè óñòàíàâëèâàòü
+ SMARTY_DIR. Îäíàêî, åñëè <emphasis>Smarty.class.php</emphasis> íå ìîæåò
+ áûòü íàéäåí â âàøåì include_path èëè âû íå óêàçûâàëè àáñîëþòíûé ïóòü ê íåìó â
+ ïðèëîæåíèè, òî âû äîëæíû îïðåäåëèòü SMARTY_DIR âðó÷íóþ.
+ SMARTY_DIR <emphasis>äîëæåí</emphasis> âêëþ÷àòü çàâåðøàþùèé ñëýø.
+ </para>
+ <para>
+ Êàê íàäî ñëåäóåò èíñòàíöèèðîâàòü îáúåêò Smarty â âàøèõ PHP-ñêðèïòàõ:
+ </para>
+ <example>
<title>Ñîçäàíèå îáåêòà Smarty</title>
<screen>
+<![CDATA[
require('Smarty.class.php');
-$smarty = new Smarty;</screen>
- </example>
-
- <para>
- Ïîïðîáóéòå âûïîëíèòü âûøåóïîìÿíóòûé ñöåíàðèé. Åñëè Âû ïîëó÷àåòå îøèáêó î òîì,
- ÷òî <emphasis>Smarty.class.php</emphasis> íå íàéäåí, âû äîëæíû ñåëàòü îäíî èç
- ñëåäóþùåãî:
- </para>
+$smarty = new Smarty;
+]]>
+ </screen>
+ </example>
+ <para>
+ Ïîïðîáóéòå âûïîëíèòü âûøåóêàçàííûé êîä. Åñëè Âû ïîëó÷àåòå îøèáêó î òîì,
+ ÷òî <emphasis>Smarty.class.php</emphasis> íå íàéäåí, ïîïðîáóéòå ñëåäóþùèå
+ âàðèàíòû:
+ </para>
- <example>
- <title>Óêàæèòå àáñîëþòíûé ïóòü ê áèáëèîòå÷íîìó êàòàëîãó</title>
+ <example>
+ <title>Óêàæèòå àáñîëþòíûé ïóòü ê äèðåêòîðèè Smarty</title>
<screen>
+<![CDATA[
require('/usr/local/lib/php/Smarty/Smarty.class.php');
-$smarty = new Smarty;</screen>
- </example>
+$smarty = new Smarty;
+]]>
+ </screen>
+ </example>
- <example>
- <title>Äîáàâüòå áèáëèîòå÷íûé êàòàëîã ê php_include ïóòè</title>
+ <example>
+ <title>Äîáàâüòå äèðåêòîðèþ Smarty ê include_path</title>
<screen>
-// Îòðåäàêòèðóéòå âàø php.ini ôàéë, äîáàâüòå áèáëèîòå÷íûé
-// êàòàëîã Smarty ê include_path è ïåðåçàóïñòèòå âåá ñåðâåð.
-// Òîãäà ñëåäóþùåå äîëæíî ðàáîòàòü:
+<![CDATA[
+// Îòðåäàêòèðóéòå âàø php.ini ôàéë, äîáàâüòå ïóòü ê Smarty
+// ê include_path è ïåðåçàïóñòèòå âåá ñåðâåð.
+// Ñëåäóþùèé êîä äîëæåí ðàáîòàòü áåç îøèáîê:
require('Smarty.class.php');
-$smarty = new Smarty;</screen>
- </example>
+$smarty = new Smarty;
+]]>
+ </screen>
+ </example>
- <example>
- <title>Óñòàíîâèòå SMARTY_DIR êîíñòàíòó âðó÷íóþ</title>
+ <example>
+ <title>Óñòàíîâèòå çíà÷åíèå êîíñòàíòû SMARTY_DIR</title>
<screen>
+<![CDATA[
define('SMARTY_DIR','/usr/local/lib/php/Smarty/');
require(SMARTY_DIR.'Smarty.class.php');
-$smarty = new Smarty;</screen>
- </example>
-
- <para>
- Òåïåðü, êîãäà áèáëèîòå÷íûå ôàéëû íàõîäÿòñÿ íà ìåñòå, ïðèøëî âðåìÿ
- óñòàíîâêà êàòàëîãè Smarty äëÿ âàøåãî ïðèëîæåíèÿ. Smarty òðåáóåò
- ÷åòûðå êàòàëîãà, êîòîðûå (ïî óìîë÷àíèþ) íàçûâàþòñÿ
- <emphasis>templates</emphasis>, <emphasis>templates_c</emphasis>,
- <emphasis>configs</emphasis> è <emphasis>cache</emphasis>. Êàæäûé èç
- íèõ îïðåäåëÿåì ñâîéñòâàìè êëàññà Smarty <emphasis>$template_dir</emphasis>,
- <emphasis>$compile_dir</emphasis>, <emphasis>$config_dir</emphasis>, è
- <emphasis>$cache_dir</emphasis> ñîîòâåòñòâåííî. Î÷åíü ðåêîìåíäóåòñÿ, ÷òîáû
- âû óñòàíàâëèâàëè îòäåëüíûå íàáîðû ýòèõ êàòàëîãîâ äëÿ êàæäîãî ïðèëîæåíèÿ,
- êîòîðîå áóäåò èñïîëüçîâàòü Smarty.
- </para>
- <para>
- Óáåäèòåñü, ÷òî Âû çíàåòå ðàñïîëîæåíèå âàøåãî êîðíÿ äîêóìåíòà íà âåá
- ñåðâåðå. Â íàøåì ïðèìåðå, êîðåíü äîêóìåíòà - "/web/www.mydomain.com/docs/".
- Ê êàòàëîãàì Smarty îáðàùàåòñÿ òîëüêî áèáëèîòåêà Ñìàðòè è íèêîãäà íå îáðàùàåò íåïîñðåäñòâåííî web-áðàóçåðîì. Ïîýòîìó, ÷òîáû èçáåæàòü ëþáûõ ïðåäïðèÿòèé(áåñïîêîéñòâ) çàùèòû, ðåêîìåíäóåò ðàçìåñòèòü ýòè êàòàëîãè â êàòàëîã îò êîðíÿ äîêóìåíòà.
-
- Be sure you know the location of your web server document root. In our
- example, the document root is "/web/www.mydomain.com/docs/". The Smarty
- directories are only accessed by the Smarty library and never accessed
- directly by the web browser. Therefore to avoid any security concerns, it
- is recommended to place these directories in a directory
- <emphasis>off</emphasis> the document root.
- </para>
- <para>
- For our installation example, we will be setting up the Smarty environment
- for a guest book application. We picked an application only for the purpose
- of a directory naming convention. You can use the same environment for any
- application, just replace "guestbook" with the name of your app. We'll
- place our Smarty directories under
- "/web/www.mydomain.com/smarty/guestbook/".
- </para>
- <para>
- You will need as least one file under your document root, and that is the
- script accessed by the web browser. We will call our script "index.php",
- and place it in a subdirectory under the document root called
- "/guestbook/". It is convenient to setup the web server so that "index.php"
- can be identified as the default directory index, so if you access
- "http://www.mydomain.com/guestbook/", the index.php script will be executed
- without "index.php" in the URL. In Apache you can set this up by adding
- "index.php" onto the end of your DirectoryIndex setting (separate each
- entry with a space.)
- </para>
-
- <para>
- Lets take a look at the file structure so far:
- </para>
-
- <example>
+$smarty = new Smarty;
+]]>
+ </screen>
+ </example>
+
+ <para>
+ Òåïåðü, êîãäà âñå ôàéëû íàõîäÿòñÿ íà ñâîèõ ìåñòàõ, ïðèøëî âðåìÿ
+ óñòàíîâêè äèðåêòîðèé Smarty â âàøåì ïðèëîæåíèè. Smarty òðåáóåò
+ ÷åòûðå äèðåêòîðèè, êîòîðûå ïî óìîë÷àíèþ íàçûâàþòñÿ
+ <emphasis>templates</emphasis>, <emphasis>templates_c</emphasis>,
+ <emphasis>configs</emphasis> è <emphasis>cache</emphasis>. Êàæäûé èç
+ íèõ îïðåäåëÿåòñÿ ñâîéñòâàìè êëàññà Smarty <emphasis>$template_dir</emphasis>,
+ <emphasis>$compile_dir</emphasis>, <emphasis>$config_dir</emphasis>, è
+ <emphasis>$cache_dir</emphasis> ñîîòâåòñòâåííî. Íàñòîé÷èâî ðåêîìåíäóåòñÿ
+ èñïîëüçîâàòü ðàçíûå íàáîðû ýòèõ äèðåêòîðèé äëÿ êàæäîãî ïðèëîæåíèÿ,
+ èñïîëüçóþùåãî Smarty.
+ </para>
+ <para>
+ Óáåäèòåñü, ÷òî âû çíàåòå çíà÷åíèå DOCUMENT_ROOT âàøåãî âåá-ñåðâåðà.
+ Â íàøåì ïðèìåðå ýòî "/web/www.mydomain.com/docs/".
+ Òàê êàê ê ôàéëàì Smarty áóäóò îáðàùàòüñÿ òîëüêî ñêðèïòû, òî âàì
+ ðåêîìåíäóåòñÿ âûíåñòè äèðåêòîðèè Smarty <emphasis>çà ïðåäåëû</emphasis>
+ DOCUMENT_ROOT, ÷òîáû èçáåæàòü ëèøíåãî áåñïîêîéñòâà.
+ </para>
+
+ <!-- TO BE TRANSLATED ASAP! -->
+
+ <para>
+ For our installation example, we will be setting up the Smarty environment
+ for a guest book application. We picked an application only for the purpose
+ of a directory naming convention. You can use the same environment for any
+ application, just replace "guestbook" with the name of your app. We'll
+ place our Smarty directories under
+ "/web/www.mydomain.com/smarty/guestbook/".
+ </para>
+ <para>
+ You will need as least one file under your document root, and that is the
+ script accessed by the web browser. We will call our script "index.php",
+ and place it in a subdirectory under the document root called
+ "/guestbook/". It is convenient to setup the web server so that "index.php"
+ can be identified as the default directory index, so if you access
+ "http://www.mydomain.com/guestbook/", the index.php script will be executed
+ without "index.php" in the URL. In Apache you can set this up by adding
+ "index.php" onto the end of your DirectoryIndex setting (separate each
+ entry with a space.)
+ </para>
+ <para>
+ Lets take a look at the file structure so far:
+ </para>
+ <example>
<title>Example file structure</title>
<screen>
+<![CDATA[
/usr/local/lib/php/Smarty/Smarty.class.php
/usr/local/lib/php/Smarty/Smarty_Compiler.class.php
/usr/local/lib/php/Smarty/Config_File.class.php
@@ -211,75 +268,73 @@
/web/www.mydomain.com/smarty/guestbook/configs/
/web/www.mydomain.com/smarty/guestbook/cache/
-/web/www.mydomain.com/docs/guestbook/index.php</screen>
- </example>
-
- <para>
- Smarty will need write access to the <emphasis>$compile_dir</emphasis> and
- <emphasis>$cache_dir</emphasis>, so be sure the web server user can write
- to them. This is usually user "nobody" and group "nobody". For OS X users,
- the default is user "www" and group "www". If you are using Apache, you can
- look in your httpd.conf file (usually in "/usr/local/apache/conf/") to see
- what user and group are being used.
- </para>
-
- <example>
+/web/www.mydomain.com/docs/guestbook/index.php
+]]>
+ </screen>
+ </example>
+ <para>
+ Smarty will need write access to the <emphasis>$compile_dir</emphasis> and
+ <emphasis>$cache_dir</emphasis>, so be sure the web server user can write
+ to them. This is usually user "nobody" and group "nobody". For OS X users,
+ the default is user "www" and group "www". If you are using Apache, you can
+ look in your httpd.conf file (usually in "/usr/local/apache/conf/") to see
+ what user and group are being used.
+ </para>
+ <example>
<title>Setting file permissions</title>
<screen>
-
+<![CDATA[
chown nobody:nobody /web/www.mydomain.com/smarty/guestbook/templates_c/
chmod 770 /web/www.mydomain.com/smarty/guestbook/templates_c/
chown nobody:nobody /web/www.mydomain.com/smarty/guestbook/cache/
-chmod 770 /web/www.mydomain.com/smarty/guestbook/cache/</screen>
- </example>
-
- <note>
- <title>Technical Note</title>
- <para>
- chmod 770 will be fairly tight security, it only allows user "nobody" and
- group "nobody" read/write access to the directories. If you would like to
- open up read access to anyone (mostly for your own convenience of viewing
- these files), you can use 775 instead.
- </para>
- </note>
-
- <para>
- We need to create the index.tpl file that Smarty will load. This will be
- located in your $template_dir.
- </para>
-
- <example>
+chmod 770 /web/www.mydomain.com/smarty/guestbook/cache/
+]]>
+ </screen>
+ </example>
+ <note>
+ <title>Technical Note</title>
+ <para>
+ chmod 770 will be fairly tight security, it only allows user "nobody" and
+ group "nobody" read/write access to the directories. If you would like to
+ open up read access to anyone (mostly for your own convenience of viewing
+ these files), you can use 775 instead.
+ </para>
+ </note>
+ <para>
+ We need to create the index.tpl file that Smarty will load. This will be
+ located in your $template_dir.
+ </para>
+ <example>
<title>Editing /web/www.mydomain.com/smarty/guestbook/templates/index.tpl</title>
<screen>
-
+<![CDATA[
{* Smarty *}
-Hello, {$name}!</screen>
- </example>
-
-
- <note>
- <title>Technical Note</title>
- <para>
- {* Smarty *} is a template comment. It is not required, but it is good
- practice to start all your template files with this comment. It makes
- the file easy to recognize regardless of the file extension. For
- example, text editors could recognize the file and turn on special
- syntax highlighting.
- </para>
- </note>
-
- <para>
- Now lets edit index.php. We'll create an instance of Smarty, assign a
- template variable and display the index.tpl file. In our example
- environment, "/usr/local/lib/php/Smarty" is in our include_path. Be sure you
- do the same, or use absolute paths.
- </para>
-
- <example>
+Hello, {$name}!
+]]>
+ </screen>
+ </example>
+ <note>
+ <title>Technical Note</title>
+ <para>
+ {* Smarty *} is a template comment. It is not required, but it is good
+ practice to start all your template files with this comment. It makes
+ the file easy to recognize regardless of the file extension. For
+ example, text editors could recognize the file and turn on special
+ syntax highlighting.
+ </para>
+ </note>
+ <para>
+ Now lets edit index.php. We'll create an instance of Smarty, assign a
+ template variable and display the index.tpl file. In our example
+ environment, "/usr/local/lib/php/Smarty" is in our include_path. Be sure you
+ do the same, or use absolute paths.
+ </para>
+ <example>
<title>Editing /web/www.mydomain.com/docs/guestbook/index.php</title>
<screen>
+<![CDATA[
// load Smarty library
require('Smarty.class.php');
@@ -292,50 +347,51 @@
$smarty->assign('name','Ned');
-$smarty->display('index.tpl');</screen>
- </example>
-
- <note>
- <title>Technical Note</title>
- <para>
- In our example, we are setting absolute paths to all of the Smarty
- directories. If '/web/www.mydomain.com/smarty/guestbook/' is within your
- PHP include_path, then these settings are not necessary. However, it is
- more efficient and (from experience) less error-prone to set them to
- absolute paths. This ensures that Smarty is getting files from the
- directories you intended.
- </para>
- </note>
-
- <para>
- Now load the index.php file from your web browser. You should see "Hello,
- Ned!"
- </para>
- <para>
- You have completed the basic setup for Smarty!
- </para>
+$smarty->display('index.tpl');
+]]>
+ </screen>
+ </example>
+ <note>
+ <title>Technical Note</title>
+ <para>
+ In our example, we are setting absolute paths to all of the Smarty
+ directories. If '/web/www.mydomain.com/smarty/guestbook/' is within your
+ PHP include_path, then these settings are not necessary. However, it is
+ more efficient and (from experience) less error-prone to set them to
+ absolute paths. This ensures that Smarty is getting files from the
+ directories you intended.
+ </para>
+ </note>
+ <para>
+ Now load the index.php file from your web browser. You should see "Hello,
+ Ned!"
+ </para>
+ <para>
+ You have completed the basic setup for Smarty!
+ </para>
</sect1>
+
<sect1 id="installing.smarty.extended">
- <title>Extended Setup</title>
+ <title>Extended Setup</title>
- <para>
- This is a continuation of the <link
- linkend="installing.smarty.basic">basic installation</link>, please read
- that first!
- </para>
- <para>
- A slightly more flexible way to setup Smarty is to extend the 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.
- Lets create a new directory "/php/includes/guestbook/" and make a new file
- called "setup.php". In our example environment, "/php/includes" is in our
- include_path. Be sure you set this up too, or use absolute file paths.
- </para>
-
- <example>
- <title>Editing /php/includes/guestbook/setup.php</title>
- <screen>
+ <para>
+ This is a continuation of the <link
+ linkend="installing.smarty.basic">basic installation</link>, please read
+ that first!
+ </para>
+ <para>
+ A slightly more flexible way to setup Smarty is to extend the 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.
+ Lets create a new directory "/php/includes/guestbook/" and make a new file
+ called "setup.php". In our example environment, "/php/includes" is in our
+ include_path. Be sure you set this up too, or use absolute file paths.
+ </para>
+ <example>
+ <title>Editing /php/includes/guestbook/setup.php</title>
+ <screen>
+<![CDATA[
// load Smarty library
require('Smarty.class.php');
@@ -361,32 +417,52 @@
$this->assign('app_name','Guest Book');
}
-}</screen>
+}
+]]>
+ </screen>
</example>
-
- <para>
- Now lets alter the index.php file to use setup.php:
- </para>
-
+ <para>
+ Now lets alter the index.php file to use setup.php:
+ </para>
<example>
<title>Editing /web/www.mydomain.com/docs/guestbook/index.php</title>
<screen>
-
+<![CDATA[
require('guestbook/setup.php');
$smarty = new Smarty_GuestBook;
$smarty->assign('name','Ned');
-$smarty->display('index.tpl');</screen>
+$smarty->display('index.tpl');
+]]>
+ </screen>
</example>
-
- <para>
- Now you see it is quite simple to bring up an instance of Smarty, just use
- Smarty_GuestBook which automatically initializes everything for our application.
- </para>
-
+ <para>
+ Now you see it is quite simple to bring up an instance of Smarty, just use
+ Smarty_GuestBook which automatically initializes everything for our application.
+ </para>
</sect1>
-
</chapter>
</part>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
+indent-tabs-mode:nil
+sgml-parent-document:nil
+sgml-default-dtd-file:"../../../../manual.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+vim600: syn=xml fen fdm=syntax fdl=2 si
+vim: et tw=78 syn=sgml
+vi: ts=1 sw=1
+-->