cvs: smarty /docs/ru getting-started.xml language-snippets.ent
| From: | George Miroshnikov | Date: | Wed, 22 Nov 2006 14:56:36 +0000 |
| Subject: | cvs: smarty /docs/ru getting-started.xml language-snippets.ent | ||
| Groups: | php.smarty.cvs | ||
| Request: | Send a blank email to php-smarty-cvs+get-2176@lists.php.net to get a copy of this message | ||
freespace Wed Nov 22 14:56:36 2006 UTC
Modified files:
/smarty/docs/ru getting-started.xml language-snippets.ent
Log:
sync with EN
http://cvs.php.net/viewvc.cgi/smarty/docs/ru/getting-started.xml?r1=1.13&r2=1.14&diff_format=u Index: smarty/docs/ru/getting-started.xml diff -u smarty/docs/ru/getting-started.xml:1.13 smarty/docs/ru/getting-started.xml:1.14 --- smarty/docs/ru/getting-started.xml:1.13 Mon Dec 5 17:11:58 2005 +++ smarty/docs/ru/getting-started.xml Wed Nov 22 14:56:35 2006 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="windows-1251"?> -<!-- $Revision: 1.13 $ --> -<!-- EN-Revision: 1.13 Maintainer: freespace Status: ready --> +<!-- $Revision: 1.14 $ --> +<!-- EN-Revision: 1.18 Maintainer: freespace Status: ready --> <part id="getting.started"> <title>Ïðèñòóïàÿ ê ðàáîòå</title> @@ -13,46 +13,109 @@ ïðåäñòàâëåíèÿ. Ýòî î÷åíü óäîáíî â ñèòóàöèÿõ, êîãäà ïðîãðàììèñò è âåðñòàëüùèê øàáëîíà - ðàçëè÷íûå ëþäè. </para> + <para> Íàïðèìåð, ñêàæåì, âû ñîçäàåòå ñòðàíèöó, êîòîðàÿ ïîêàçûâàåò ãàçåòíóþ - ñòàòüþ. Íàçâàíèå ñòàòüè, àâòîð è ñàìà ñòàòüÿ - ýëåìåíòû, êîòîðûå íå - ñîäåðæàò íèêàêîé èíôîðìàöèè î òîì, êàê îíè áóäóò ïðåäñòàâëåíû. Èõ - ïåðåäàþò â Smarty èç ïðèëîæåíèÿ, à âåðñòàëüùèê øàáëîíà ðåäàêòèðóåò - øàáëîíû è èñïîëüçóåò êîìáèíàöèþ òýãîâ HTML è òýãîâ øàáëîíà, ÷òîáû - îòôîðìàòèðîâàòü ïðåäñòàâëåíèå ýòèõ ýëåìåíòîâ (òàáëèöû HTML, ôîíîâûå - öâåòà, ðàçìåðû øðèôòà, ñòèëÿ è ò.ä.). Îäíàæäû ïðîãðàììèñò çàõî÷åò - èçìåíèòü ñïîñîá õðàíåíèÿ ñòàòüè (ñäåëàòü èçìåíåíèÿ â ëîãèêå ïðèëîæåíèÿ). - Ýòî èçìåíåíèå íå âûçîâåò èçìåíåíèé â øàáëîíàõ. Ñîäåðæàíèå áóäåò âñå åùå - ïåðåäàâàòüñÿ â øàáëîí òàêèì æå ñàìûì ñïîñîáîì. - Àíàëîãè÷íî, åñëè âåðñòàëüùèê çàõî÷åò ïîëíîñòüþ ïåðåïðîåêòèðîâàòü - øàáëîíû, ýòî íå ïîòðåáóåò íèêàêèõ èçìåíåíèé â ïðèêëàäíîé ëîãèêå. + ñòàòüþ. </para> + <itemizedlist> + <listitem> + <para> + Íàçâàíèå ñòàòüè, àâòîð è ñàìà ñòàòüÿ - ýëåìåíòû, êîòîðûå íå + ñîäåðæàò íèêàêîé èíôîðìàöèè î òîì, êàê îíè áóäóò ïðåäñòàâëåíû. Èõ + <link linkend="api.assign">ïåðåäàþò</link> + â Smarty èç ïðèëîæåíèÿ. + </para> + </listitem> + <listitem> + <para> + Çàòåì âåðñòàëüùèê øàáëîíà ðåäàêòèðóåò + øàáëîíû è èñïîëüçóåò êîìáèíàöèþ òýãîâ HTML è + <link linkend="language.basic.syntax">òýãîâ øàáëîíà</link>, + ÷òîáû îòôîðìàòèðîâàòü ïðåäñòàâëåíèå ýòèõ + <link linkend="language.syntax.variables">ïåðåìåííûõ</link>, + ñîäåðæàùèõ ýëåìåíòû òèïà òàáëèö HTML, ôîíîâûõ öâåòîâ, ðàçìåðîâ øðèôòà, + ñòèëåé, SVG è ò.ä.). + </para> + </listitem> + <listitem> + <para> + Îäíàæäû ïðîãðàììèñò çàõî÷åò èçìåíèòü ñïîñîá õðàíåíèÿ ñòàòüè, òî åñòü + âíåñòè èçìåíåíèÿ â ëîãèêó ïðèëîæåíèÿ. + Ýòî èçìåíåíèå íå âûçîâåò èçìåíåíèé â øàáëîíàõ. Ñîäåðæàíèå áóäåò âñå åùå + ïåðåäàâàòüñÿ â øàáëîí òàêèì æå ñàìûì ñïîñîáîì. + </para> + </listitem> + <listitem> + <para> + Àíàëîãè÷íî, åñëè âåðñòàëüùèê çàõî÷åò ïîëíîñòüþ ïåðåïðîåêòèðîâàòü + øàáëîíû, ýòî íå ïîòðåáóåò íèêàêèõ èçìåíåíèé â ïðèêëàäíîé ëîãèêå. + </para> + </listitem> + <listitem> + <para> + Òàêèì îáðàçîì, ïðîãðàììèñò ìîæåò âíîñèòü èçìåíåíèÿ â ïðèêëàäíóþ ëîãèêó + áåç íåîáõîäèìîñòè èçìåíåíèÿ øàáëîíîâ, à äèçàéíåð øàáëîíîâ ìîæåò + âíîñèòü èçìåíåíèÿ â øàáëîíû áåç âðåäà äëÿ ïðèêëàäíîé ëîãèêè. + </para> + </listitem> + </itemizedlist> + <para> Îäíî èç ïðåäíàçíà÷åíèé Smarty - ýòî îòäåëåíèå ëîãèêè ïðèëîæåíèÿ îò - ïðåäñòàâëåíèÿ. Êîíå÷íî æå, øàáëîíû ìîãóò ñîäåðæàòü â ñåáå ëîãèêó, íî - ëèøü ïðè óñëîâèè, ÷òî ýòà ëîãèêà íåîáõîäèìà äëÿ ïðàâèëüíîãî ïðåäñòàâëåíèÿ - äàííûõ. Òàêèå çàäà÷è, êàê ïîäêëþ÷åíèå äðóãèõ øàáëîíîâ, ÷åðåäóþùàÿñÿ îêðàñêà - ñòðî÷åê â òàáëèöå, ïðèâåäåíèå áóêâ ê âåðõíåìó ðåãèñòðó, öèêëè÷åñêèé ïðîõîä - ïî ìàññèâó äëÿ åãî îòîáðàæåíèÿ è ò.ä. - âñ¸ ýòî ÿâëÿåòñÿ ïðèìåðîì ëîãèêè - ïðåäñòàâëåíèÿ. Íå ñëåäóåò äóìàòü, ÷òî Smarty çàñòàâëÿåò âàñ ðàçäåëÿòü - ëîãèêó ïðèëîæåíèÿ è ïðåäñòàâëåíèå. Smarty íå âèäèò ðàçíèöû ìåæäó ýòèìè - âåùàìè, òàê ÷òî ïîìåùàòü èëè íå ïîìåùàòü ëîãèêó ïðèëîæåíèÿ â øàáëîíû - - ðåøàòü âàì. Åñëè æå âû ñ÷èòàåòå, ÷òî â øàáëîíå <emphasis>âîîáùå</emphasis> - íå äîëæíî áûòü ëîãèêè, âû ìîæåòå îãðàíè÷èòüñÿ èñïîëüçîâàíèåì ÷èñòîãî - òåêñòà è ïåðåìåííûõ. + ïðåäñòàâëåíèÿ. </para> + + <itemizedlist> + <listitem> + <para> + Êîíå÷íî æå, øàáëîíû ìîãóò ñîäåðæàòü â ñåáå ëîãèêó, íî + ëèøü ïðè óñëîâèè, ÷òî ýòà ëîãèêà íåîáõîäèìà äëÿ ïðàâèëüíîãî ïðåäñòàâëåíèÿ + äàííûõ. Òàêèå çàäà÷è, êàê + <link linkend="language.function.include">ïîäêëþ÷åíèå</link> + äðóãèõ øàáëîíîâ, + <link linkend="language.function.cycle">÷åðåäóþùàÿñÿ</link> + îêðàñêà ñòðî÷åê â òàáëèöå, + <link linkend="language.modifier.upper">ïðèâåäåíèå áóêâ ê âåðõíåìó + ðåãèñòðó</link>, + <link linkend="language.function.foreach">öèêëè÷åñêèé ïðîõîä</link> + ïî ìàññèâó äëÿ åãî + <link linkend="api.display">îòîáðàæåíèÿ</link> è ò.ä. - âñ¸ ýòî + ïðèìåðû ëîãèêè ïðåäñòàâëåíèÿ. + </para> + </listitem> + <listitem> + <para> + Òåì íå ìåíåå, íå ñëåäóåò ïîëàãàòü, ÷òî Smarty çàñòàâëÿåò âàñ ðàçäåëÿòü + ïðèêëàäíóþ ëîãèêó è ëîãèêó ïðåäñòàâëåíèÿ. + Smarty íå âèäèò ðàçíèöû ìåæäó ýòèìè âåùàìè, òàê ÷òî ïåðåíîñèòü + ïðèêëàäíóþ ëîãèêó â øàáëîíû âû ìîæåòå íà ñâîé ñòðàõ è ðèñê. + </para> + </listitem> + <listitem> + <para> + Åñëè æå âû ñ÷èòàåòå, ÷òî â øàáëîíå <emphasis>âîîáùå</emphasis> + íå äîëæíî áûòü ëîãèêè, âû ìîæåòå îãðàíè÷èòüñÿ èñïîëüçîâàíèåì ÷èñòîãî + òåêñòà è ïåðåìåííûõ. + </para> + </listitem> + </itemizedlist> + <para> Îäíà èç óíèêàëüíûõ âîçìîæíîñòåé Smarty - êîìïèëèðîâàíèå øàáëîíîâ. Ýòî îçíà÷àåò, ÷òî Smarty ÷èòàåò ôàéëû øàáëîíîâ è ñîçäàåò PHP-êîä íà èõ îñíîâå. Êîä ñîçäà¸òñÿ îäèí ðàç è ïîòîì òîëüêî âûïîëíÿåòñÿ. Ïîýòîìó íåò - íåîáõîäèìîñòè îáðàáàòûâàòü ôàéë øàáëîíà äëÿ êàæäîãî çàïðîñà è êàæäûé - øàáëîí ìîæåò ïîëüçîâàòüñÿ âñåìè ïðåèìóùåñòâàìè òàêèõ êýøèðóþøèõ ðåøåíèé, - êàê Zend Accelerator - (<ulink url="&url.zend;">&url.zend;</ulink>) èëè PHP Accelerator - (<ulink url="&url.php-accelerator;">&url.php-accelerator;</ulink>). + íåîáõîäèìîñòè â ìåäëåííîé îáðàáîòêå ôàéë øàáëîíà äëÿ êàæäîãî çàïðîñà. + Êàæäûé øàáëîí ìîæåò ïîëüçîâàòüñÿ âñåìè ïðåèìóùåñòâàìè òàêèõ êîìïèëÿòîðîâ + PHP è êýøèðóþøèõ ðåøåíèé, êàê + <ulink url="&url.e-accel;">eAccelerator</ulink>, + <ulink url="&url.ion-accel;">ionCube</ulink>, + <ulink url="&url.mmcache-accel;">mmCache</ulink>, + <ulink url="&url.zend-accel;">Zend Accelerator</ulink> + è ïðî÷èõ. </para> <para> - Íåêîòîðûå îñîáåííîñòè Smarty: + <emphasis role="bold">Íåêîòîðûå îñîáåííîñòè Smarty:</emphasis> </para> <itemizedlist> <listitem> @@ -72,31 +135,35 @@ </listitem> <listitem> <para> - Ïåðåêîìïèëèðóþòñÿ òîëüêî òå øàáëîíû, êîòîðûå èçìåíèëèñü. + <link linkend="variable.compile.check">Ïåðåêîìïèëèðóþòñÿ</link> + òîëüêî òå øàáëîíû, êîòîðûå èçìåíèëèñü. </para> </listitem> <listitem> <para> - Âû ìîæåòå ñîçäàâàòü ïîëüçîâàòåëüñêèå <link + Âû ìîæåòå ëåãêî ñîçäàâàòü ñîáñòâåííûå ïîëüçîâàòåëüñêèå <link linkend="language.custom.functions">ôóíêöèè</link> è - <link linkend="language.modifiers">ìîäèôèêàòîðû</link>, + <link linkend="language.modifiers">ìîäèôèêàòîðû ïåðåìåííûõ</link>, ÷òî äåëàåò ÿçûê øàáëîíîâ ÷ðåçâû÷àéíî ðàñøèðÿåìûì. </para> </listitem> <listitem> <para> Íàñòðàèâàåìûå - <link linkend="variable.left.delimiter">ðàçäåëèòåëè òýãîâ</link> - øàáëîíà, òî åñòü âû ìîæåòå èñïîëüçîâàòü {}, {{}}, <!--{}--> - è ò.ä. + <link linkend="variable.left.delimiter">{ðàçäåëèòåëè}</link> òýãîâ + øàáëîíà, òî åñòü âû ìîæåòå èñïîëüçîâàòü + <literal>{$foo}</literal>, <literal>{{$foo}}</literal>, + <literal><!--{$foo}--></literal> è ò.ä. </para> </listitem> <listitem> <para> Êîíñòðóêöèè - <link linkend="language.function.if">if/elseif/else/endif</link> - ïåðåäàþòñÿ îáðàáîò÷èêó PHP, òàê ÷òî ñèíòàêñèñ âûðàæåíèÿ {if ...} ìîæåò - áûòü íàñòîëüêî ïðîñòûì èëè ñëîæíûì, íàñêîëüêî âàì óãîäíî. + <link linkend="language.function.if"> + <literal>{if}..{elseif}..{else}..{/if}</literal></link> + ïåðåäàþòñÿ îáðàáîò÷èêó PHP, òàê ÷òî ñèíòàêñèñ âûðàæåíèÿ + <literal>{if...}</literal> ìîæåò áûòü íàñòîëüêî ïðîñòûì èëè ñëîæíûì, + íàñêîëüêî âàì óãîäíî. </para> </listitem> <listitem> @@ -111,7 +178,8 @@ Ñóùåñòâóåò âîçìîæíîñòü <link linkend="language.function.php">âêëþ÷åíèÿ PHP-êîäà</link> ïðÿìî â âàø øàáëîí, îäíàêî îáû÷íî â ýòîì íåò íåîáõîäèìîñòè - (è ýòî íå ðåêîììåíäóåòñÿ), òàê êàê äâèæîê âåñüìà ãèáîê è ðàñøèðÿåì. + (è ýòî íå ðåêîììåíäóåòñÿ), òàê êàê äâèæîê âåñüìà ãèáîê è + <link linkend="plugins">ðàñøèðÿåì</link>. </para> </listitem> <listitem> @@ -139,6 +207,10 @@ </itemizedlist> </chapter> + + + + <chapter id="installation"> <title>Óñòàíîâêà</title> @@ -152,42 +224,71 @@ <sect1 id="installing.smarty.basic"> <title>Áàçîâàÿ óñòàíîâêà</title> <para> - Ñêîïèðóéòå ôàéëû Smarty, êîòîðûå íàõîäÿòñÿ â ñóáäèðåêòîðèè /libs/ + Ñêîïèðóéòå ôàéëû Smarty, êîòîðûå íàõîäÿòñÿ â ñóáäèðåêòîðèè + <filename class="directory">/libs/</filename> äèñòðèáóòèâà. Ðåäàêòèðîâàòü ýòè PHP-ôàéëû ÍÅ ÑËÅÄÓÅÒ. Îíè äîëæíû èñïîëüçîâàòüñÿ âñåìè ïðèëîæåíèÿìè è èçìåíÿòüñÿ òîëüêî ïðè îáíîâëåíèè Smarty äî íîâîé âåðñèè. </para> + <para> +  ñëåäóþùèõ ïðèìåðàõ àðõèâ ñ èñõîäíûì êîäîì Smarty áûë ðàñïàêîâàí â + <itemizedlist> + <listitem> + <para> + <filename class="directory">/usr/local/lib/Smarty-v.e.r/</filename> + äëÿ ìàøèí ïîä *nix + </para> + </listitem> + <listitem> + <para> + è + <filename class="directory">c:\webroot\libs\Smarty-v.e.r\</filename> + äëÿ ìàøèí ïîä Windows. + </para> + </listitem> + </itemizedlist> + </para> + <example> <title>Íåîáõîäèìûå ôàéëû áèáëèîòåêè Smarty</title> <screen> <![CDATA[ -Smarty.class.php -Smarty_Compiler.class.php -Config_File.class.php -debug.tpl -/internals/*.php (âñå ôàéëû) -/plugins/*.php (âñå ôàéëû, íî îòäåëüíîìó ñàéòó ìîãóò ïîíàäîáèòüñÿ íå âñå) +Smarty-v.e.r/ + libs/ + Smarty.class.php + Smarty_Compiler.class.php + Config_File.class.php + debug.tpl + internals/*.php (âñå ôàéëû) + plugins/*.php (âñå ôàéëû) ]]> </screen> </example> <para> Smarty èñïîëüçóåò <ulink url="&url.php-manual;define">êîíñòàíòó</ulink> PHP - <link linkend="constant.smarty.dir">SMARTY_DIR</link>, êîòîðàÿ óêàçûâàåò - <emphasis role="bold">ïîëíûé ïóòü</emphasis> ê äèðåêòîðèè 'libs/' Smarty. + <link linkend="constant.smarty.dir"> + <constant>SMARTY_DIR</constant></link>, êîòîðàÿ óêàçûâàåò + <emphasis role="bold">ïîëíûé ïóòü</emphasis> ê äèðåêòîðèè + <filename>libs/</filename> èç Smarty. Îáû÷íî, åñëè âàøå ïðèëîæåíèå ìîæåò íàéòè ôàéë <filename>Smarty.class.php</filename>, òî íåò íåîáõîäèìîñòè - óñòàíàâëèâàòü SMARTY_DIR - Smarty ñàì âî âñ¸ì ðàçáåð¸òñÿ. Îäíàêî, åñëè + óñòàíàâëèâàòü + <link linkend="constant.smarty.dir"><constant>SMARTY_DIR</constant></link> + - Smarty ñàì âî âñ¸ì ðàçáåð¸òñÿ. + Îäíàêî, åñëè <filename>Smarty.class.php</filename> íå ìîæåò áûòü íàéäåí â âàøåì include_path èëè âû íå óêàçûâàëè àáñîëþòíûé ïóòü ê - íåìó â ïðèëîæåíèè, òî âû äîëæíû îïðåäåëèòü SMARTY_DIR âðó÷íóþ. - SMARTY_DIR <emphasis role="bold">äîëæåí âêëþ÷àòü çàâåðøàþùèé ñëýø</emphasis>. - </para> - <para> - Âîò êàê ñëåäóåò ñîçäàâàòü ýêçåìïëÿð îáúåêòà Smarty â âàøèõ PHP-ñêðèïòàõ: + íåìó â ïðèëîæåíèè, òî âû äîëæíû îïðåäåëèòü + <constant>SMARTY_DIR</constant> âðó÷íóþ. + <constant>SMARTY_DIR</constant> <emphasis role="bold">äîëæíà âêëþ÷àòü + çàâåðøàþùèé ñëýø</emphasis>. </para> - <example> - <title>Ñîçäàíèå îáåêòà Smarty</title> - <programlisting role="php"> + + <informalexample> + <para> + Âîò êàê ñëåäóåò ñîçäàâàòü ýêçåìïëÿð îáúåêòà Smarty â âàøèõ PHP-ñêðèïòàõ: + </para> + <programlisting role="php"> <![CDATA[ <?php // Îáðàòèòå âíèìàíèå: â ñëîâå Smarty áóêâà 'S' äîëæíà áûòü çàãëàâíîé @@ -196,7 +297,7 @@ ?> ]]> </programlisting> - </example> + </informalexample> <para> Ïîïðîáóéòå âûïîëíèòü âûøåóêàçàííûé êîä. Åñëè Âû ïîëó÷àåòå îøèáêó î òîì, @@ -210,7 +311,7 @@ <![CDATA[ <?php // ñòèëü *nix (íå çàáûâàéòå î çàãëàâíîé 'S') -define('SMARTY_DIR', '/usr/local/lib/php/Smarty-v.e.r/libs/'); +define('SMARTY_DIR', '/usr/local/lib/Smarty-v.e.r/libs/'); // ñòèëü windows define('SMARTY_DIR', 'c:/webroot/libs/Smarty-v.e.r/libs/'); @@ -232,7 +333,7 @@ <![CDATA[ <?php // ñòèëü *nix (íå çàáûâàéòå î çàãëàâíîé 'S') -require_once('/usr/local/lib/php/Smarty-v.e.r/libs/Smarty.class.php'); +require_once('/usr/local/lib/Smarty-v.e.r/libs/Smarty.class.php'); // ñòèëü windows require_once('c:/webroot/libs/Smarty-v.e.r/libs/Smarty.class.php'); @@ -243,128 +344,146 @@ </programlisting> </example> - <example> - <title>Äîáàâëåíèå ôàéëîâ áèáëèîòåêè ê include_path PHP</title> + <example> + <title>Äîáàâëåíèå áèáëèîòåêè â ïóòü â ôàéëå <filename>php.ini</filename></title> <programlisting role="php"> <![CDATA[ -<?php -// Îòðåäàêòèðóéòå âàø ôàéë php.ini, äîáàâèâ äèðåêòîðèþ -// áèáëèîòåêè Smarty â include_path è ïåðåçàïóñòèòå âåá-ñåðâåð. -// çàòåì, ñëåäóþùèé êîä äîëæåí ðàáîòàòü: -require_once('Smarty.class.php'); -$smarty = new Smarty(); -?> +;;;;;;;;;;;;;;;;;;;;;;;;; +; Paths and Directories ; +;;;;;;;;;;;;;;;;;;;;;;;;; + +; *nix: "/path1:/path2" +include_path = ".:/usr/share/php:/usr/local/lib/Smarty-v.e.r/libs/" + +; Windows: "\path1;\path2" +include_path = ".;c:\php\includes;c:\webroot\libs\Smarty-v.e.r\libs\" ]]> </programlisting> </example> - <para> - Òåïåðü, êîãäà âñå ôàéëû íàõîäÿòñÿ íà ñâîèõ ìåñòàõ, ïðèøëî âðåìÿ - óñòàíîâêè äèðåêòîðèé Smarty â âàøåì ïðèëîæåíèè. Smarty òðåáóåò - ÷åòûðå äèðåêòîðèè, êîòîðûå ïî óìîë÷àíèþ íàçûâàþòñÿ - <filename class="directory">'templates/'</filename>, - <filename class="directory">'templates_c/'</filename>, - <filename class="directory">'configs/'</filename> è - <filename class="directory">'cache/'</filename>. Êàæäàÿ èç - íèõ îïðåäåëÿåòñÿ ñâîéñòâàìè êëàññà Smarty: - <link linkend="variable.template.dir"> - <varname>$template_dir</varname></link>, - <link linkend="variable.compile.dir"> - <varname>$compile_dir</varname></link>, - <link linkend="variable.config.dir"> - <varname>$config_dir</varname></link> è - <link linkend="variable.cache.dir"> - <varname>$cache_dir</varname></link> ñîîòâåòñòâåííî. - Íàñòîé÷èâî ðåêîìåíäóåòñÿ èñïîëüçîâàòü ðàçíûå íàáîðû - ýòèõ äèðåêòîðèé äëÿ êàæäîãî ïðèëîæåíèÿ, èñïîëüçóþùåãî Smarty. - </para> - <para> - Óáåäèòåñü, ÷òî âû çíàåòå ðàñïîëîæåíèå êîðíåâîé äèðåêòîðèè äëÿ äîêóìåíòîâ - âàøåãî âåá-ñåðâåðà.  íàøåì ïðèìåðå ýòî <filename - class="directory">/web/www.example.com/docs/</filename>. - Òàê êàê äîñòóï ê äèðåêòîðèÿì Smarty ïîëó÷àåò òîëüêî áèáëèîòåêà Smarty - è îíè íèêîãäà íå çàïðàøèâàþòñÿ íàïðÿìóþ âåá-áðàóçåðîì, âàì ðåêîìåíäóåòñÿ - âûíåñòè äèðåêòîðèè Smarty <emphasis>çà ïðåäåëû</emphasis> êîðíåâîé - äèðåêòîðèè äëÿ äîêóìåíòîâ, ÷òîáû èçáåæàòü ëèøíåãî áåñïîêîéñòâà - îòíîñèòåëüíî áåçîïàñíîñòè. - </para> - <para> -  íàøåì ïðèìåðå ìû áóäåì óñòàíàâëèâàòü Smarty äëÿ íåêîòîðîé ãîñòåâîé - êíèãè. Ïðèëîæåíèå áûëî âûáðàíî òîëüêî äëÿ òîãî, ÷òîáû èñïîëüçîâàòü åãî - èìÿ â èìåíàõ äèðåêòîðèé. Âû ìîæåòå èñïîëüçîâàòü òå æå íàñòðîéêè ñ ëþáûì - äðóãèì ïðèëîæåíèåì, ïðîñòî ìåíÿÿ "guestbook" íà èìÿ âàøåãî ïðèëîæåíèÿ. - Ìû æå ðàçìåñòèì íàøè äèðåêòîðèè Smarty òóò: - <filename - class="directory">web/www.example.com/smarty/guestbook/</filename> - </para> - <para> - Âàì ïîíàäîáèòñÿ êàê ìèíèìóì îäèí ôàéë â êîðíåâîé äèðåêòîðèè äëÿ äîêóìåíòîâ - - ýòî ñêðèïò, ê êîòîðîìó îáðàùàåòñÿ âåá-áðàóçåð. Ìû íàçîâ¸ì íàø ñêðèïò - <emphasis>'index.php'</emphasis> è ïîìåñòèì åãî â ïîääèðåêòîðèþ - <filename class="directory">/guestbook/</filename> êîðíåâîé äèðåêòîðèè - äëÿ äîêóìåíòîâ. - </para> + <example> + <title> + Äîïèñûâàíèå include_path èç PHP-ñêðèïòà èñïîëüçóÿ + <literal><ulink url="&url.e-accel;">ini_set()</ulink></literal> + </title> + <programlisting role="php"> +<![CDATA[ +<?php +// *nix +ini_set('include_path', ini_get('include_path').PATH_SEPARATOR.'/usr/local/lib/Smarty-v.e.r/libs/'); - <note> - <title>Òåõíè÷åñêîå çàìå÷àíèå</title> - <para> - Áûâàåò óäîáíî íàñòðîèòü âåá-ñåðâåð òàê, ÷òîáû 'index.php' ðàñöåíèâàëñÿ - êàê èíäåêñíûé ôàéë äèðåêîòðèè ïî óìîë÷àíèþ, ÷òîáû ïðè çàïðîñå ñòðàíèöû - http://www.example.com/guestbook/, âûçûâàëñÿ ñêðèïò 'index.php' áåç - 'index.php' â êîíöå àäðåñíîé ñòðîêè.  âåá-ñåðâåðå Apache âû ìîæåòå - íàñòðîèòü ýòî, äîáàâèâ "index.php" â êîíåö äèðåêòèâû - <emphasis>DirectoryIndex</emphasis> (çàïèñè ðàçäåëÿþòñÿ ïðîáåëàìè), - êàê â ïðèìåðå èç httpd.conf - </para> - <para> - <emphasis>DirectoryIndex - index.htm index.html index.php index.php3 default.html index.cgi - </emphasis> - </para> - </note> +// windows +ini_set('include_path', ini_get('include_path').PATH_SEPARATOR.'c:/webroot/lib/Smarty-v.e.r/libs/'); +?> +]]> + </programlisting> + </example> <para> - Äàâàéòå âçãëÿíèì íà òåêóùóþ ôàéëîâóþ ñòðóêòóðó: + Òåïåðü, êîãäà âñå ôàéëû íàõîäÿòñÿ íà ñâîèõ ìåñòàõ, ïðèøëî âðåìÿ + óñòàíîâêè äèðåêòîðèé Smarty â âàøåì ïðèëîæåíèè. + </para> + <itemizedlist> + <listitem> + <para> + Smarty íóæíî ÷åòûðå äèðåêòîðèè, êîòîðûå ïî óìîë÷àíèþ íàçûâàþòñÿ + <filename class="directory">templates/</filename>, + <filename class="directory">templates_c/</filename>, + <filename class="directory">configs/</filename> è + <filename class="directory">cache/</filename> + </para> + </listitem> + <listitem> + <para> + Êàæäàÿ èç íèõ îïðåäåëÿåòñÿ ñâîéñòâàìè êëàññà Smarty: + <link linkend="variable.template.dir"> + <varname>$template_dir</varname></link>, + <link linkend="variable.compile.dir"> + <varname>$compile_dir</varname></link>, + <link linkend="variable.config.dir"> + <varname>$config_dir</varname></link> è + <link linkend="variable.cache.dir"> + <varname>$cache_dir</varname></link> ñîîòâåòñòâåííî. + Íàñòîé÷èâî ðåêîìåíäóåòñÿ èñïîëüçîâàòü ðàçíûå íàáîðû + ýòèõ äèðåêòîðèé äëÿ êàæäîãî ïðèëîæåíèÿ, èñïîëüçóþùåãî Smarty. + </para> + </listitem> + </itemizedlist> + + <para> +  íàøåì ïðèìåðå ìû áóäåì óñòàíàâëèâàòü Smarty äëÿ íåêîòîðîé ãîñòåâîé + êíèãè. Ïðèëîæåíèå áûëî âûáðàíî òîëüêî äëÿ òîãî, ÷òîáû èñïîëüçîâàòü åãî + èìÿ â èìåíàõ äèðåêòîðèé. Âû ìîæåòå èñïîëüçîâàòü òå æå íàñòðîéêè ñ ëþáûì + äðóãèì ïðèëîæåíèåì, ïðîñòî ìåíÿÿ <literal>guestbook/</literal> + íà èìÿ âàøåãî ïðèëîæåíèÿ. </para> <example> - <title>Ôàéëîâàÿ ñòðóêòóðà ïðèìåðà</title> + <title>Âîò êàê âûãëÿäèò ôàéëîâàÿ ñòðóêòóðà</title> <screen> <![CDATA[ -/usr/local/lib/php/Smarty-v.e.r/libs/Smarty.class.php -/usr/local/lib/php/Smarty-v.e.r/libs/Smarty_Compiler.class.php -/usr/local/lib/php/Smarty-v.e.r/libs/Config_File.class.php -/usr/local/lib/php/Smarty-v.e.r/libs/debug.tpl -/usr/local/lib/php/Smarty-v.e.r/libs/internals/*.php -/usr/local/lib/php/Smarty-v.e.r/libs/plugins/*.php - -/web/www.example.com/smarty/guestbook/templates/ -/web/www.example.com/smarty/guestbook/templates_c/ -/web/www.example.com/smarty/guestbook/configs/ -/web/www.example.com/smarty/guestbook/cache/ - -/web/www.example.com/docs/guestbook/index.php +/usr/local/lib/Smarty-v.e.r/libs/ + Smarty.class.php + Smarty_Compiler.class.php + Config_File.class.php + debug.tpl + internals/*.php + plugins/*.php + +/web/www.example.com/ + guestbook/ + templates/ + index.tpl + templates_c/ + configs/ + cache/ + htdocs/ + index.php ]]> </screen> </example> - + + <para> + Óáåäèòåñü, ÷òî âû çíàåòå ðàñïîëîæåíèå êîðíåâîé äèðåêòîðèè äîêóìåíòîâ + âàøåãî âåá-ñåðâåðà.  ñëåäóþùèõ ïðèìåðàõ, êîðíåâîé äèðåêòîðèåé äîêóìåíòîâ + ÿâëÿåòñÿ <filename + class="directory">/web/www.example.com/guestbook/htdocs/</filename>. + Äîñòóï ê äèðåêòîðèÿì Smarty ïðîèñõîäèò òîëüêî èç áèáëèîòåêè Smarty è + íèêîãäà íå ïðîèñõîäèò ÷åðåç âåá-áðàóçåð. Ïîýòîìó, â öåëÿõ áåçîïàñíîñòè + ðåêîììåíäóåòñÿ ðàñïîëàãàòü ýòè äèðåêòîðèè <emphasis>çà ïðåäåëàìè</emphasis> + êîðíåâîé äèðåêòîðèè äîêóìåíòîâ ñåðâåðà, õîòÿ ýòî è íå îáÿçàòåëüíî. + </para> + <para> + Âàì ïîíàäîáèòüñÿ êàê ìèíèìóì îäèí ôàéë âíóòðè êîðíåâîé äèðåêòîðèè + äîêóìåíòîâ - ýòî ñêðèïò, âûçûâàåìûé âåá-áðàóçåðîì. Ìû íàçîâåì íàø ñêðèïò + <filename>index.php</filename> è ïîëîæèì åãî â ïîääèðåêòîðèþ âíóòðè + êîðíåâîé äèðåêòîðèè äîêóìåíòîâ <filename class="directory">/htdocs/</filename>. + </para> + <para> Smarty ïîíàäîáÿòñÿ <emphasis role="bold">ïðàâà íà çàïèñü</emphasis> - (ïîëüçîâàòåëåé Windows ýòî íå êàñàåòñÿ) â + (ïîëüçîâàòåëåé Windows ýòî íå êàñàåòñÿ) â äèðåêòîðèè <link linkend="variable.compile.dir"> - <emphasis>$compile_dir</emphasis></link> è + <parameter>$compile_dir</parameter></link> è <link linkend="variable.cache.dir"> - <emphasis>$cache_dir</emphasis></link>, + <parameter>$cache_dir</parameter></link> + (<filename class="directory">templates_c/</filename> è + <filename class="directory">cache/</filename>), òàê ÷òî óáåäèòåñü, ÷òî ó âåá-ñåðâåðà åñòü ýòè ïðàâà. - Îáû÷íî ñåðâåð çàïóùåí îò èìåíè ïîëüçîâàòåëÿ "nobody" ãðóïïû "nobody". - Äëÿ ïîëüçîâàòåëåé OS X ïîëüçîâàòåëåì ïî óìîë÷àíèþ ÿâëÿåòñÿ "www" - ãðóïïû "www". Åñëè âû èñïîëüçóåòå Apache, âû ìîæåòå çàãëÿíóòü â âàø ôàéë - httpd.conf (êîòîðûé îáû÷íî ðàñïîëîæåí â "/usr/local/apache/conf/") ÷òîáû - óçíàòü, êàêîé ïîëüçîâàòåëü è ãðóïïà èñïîëüçóþòñÿ. + + <note> + <para> + Îáû÷íî ýòî ïîëüçîâàòåëü <quote>nobody</quote> è ãðóïïà + <quote>nobody</quote>. Äëÿ ïîëüçîâàòåëåé OS X, ïîëüçîâàòåëü ïî óìîë÷àíèþ + - ýòî <quote>www</quote> è ãðóïïà - <quote>www</quote>. + Åñëè âû èñïîëüçóåòå Apache, âû ìîæåòå óçíàòü èñïîëüçóåìûå + èìÿ ïîëüçîâàòåëÿ è ãðóïïó èç ôàéëà <filename>httpd.conf</filename>. + </para> + </note> </para> <example> - <title>Óñòàíîâêà ïðàâ äîñòóïà ê ôàéëàì</title> + <title>Óñòàíîâêà ïðàâ äîñòóïà ê ôàéëàì è äèðåêòîðèÿì</title> <programlisting role="shell"> <![CDATA[ chown nobody:nobody /web/www.example.com/smarty/guestbook/templates_c/ @@ -377,26 +496,30 @@ </example> <note> - <title>Òåõíè÷åñêîå çàìå÷àíèå</title> + <title>Ïðèìå÷àíèå</title> <para> - chmod 770 äà¸ò äîñòàòî÷íî æåñòêóþ çàùèòó - ðàçðåøàåò òîëüêî ïîëüçîâàòåëþ - "nobody" è ãðóïïå "nobody" äîñòóï íà ÷òåíèå è çàïèñü â ýòè äèðåêòîðèè. + <literal>chmod 770</literal> äà¸ò äîñòàòî÷íî æåñòêóþ çàùèòó - + ðàçðåøàåò òîëüêî ïîëüçîâàòåëþ + <quote>nobody</quote> è ãðóïïå <quote>nobody</quote> äîñòóï + íà ÷òåíèå è çàïèñü â ýòè äèðåêòîðèè. Åñëè âû õîòèòå îòêðûòü äîñòóï íà ÷òåíèå äëÿ âñåõ (îáû÷íî äëÿ ñîáñòâåííîãî - óäîáñòâà ïðè ïðîñìîòðå ýòèõ ôàéëîâ), âû ìîæåòå èñïîëüçîâàòü çíà÷åíèå 775. + óäîáñòâà ïðè ïðîñìîòðå ýòèõ ôàéëîâ), âû ìîæåòå èñïîëüçîâàòü çíà÷åíèå + <literal>775</literal>. </para> </note> <para> - Íàì íåîáõîäèìî ñîçäàòü ôàéë 'index.tpl', êîòîðû áóäåò çàãðóæàòüñÿ Smarty. + Íàì íåîáõîäèìî ñîçäàòü ôàéë <filename>index.tpl</filename>, + êîòîðû áóäåò çàãðóæàòüñÿ Smarty. Îí áóäåò ðàñïîëîæåí â - <link linkend="variable.template.dir">$template_dir</link>. + <link linkend="variable.template.dir"> + <parameter>$template_dir</parameter></link>. </para> <example> - <title>Ðåäàêòèðîâàíèå /web/www.example.com/smarty/guestbook/templates/index.tpl</title> + <title>/web/www.example.com/guestbook/templates/index.tpl</title> <screen> <![CDATA[ - {* Smarty *} Ïðèâåò, {$name}! Äîáðî ïîæàëîâàòü â Smarty! @@ -407,7 +530,7 @@ <note> <title>Òåõíè÷åñêîå çàìå÷àíèå</title> <para> - {* Smarty *} - ýòî + <literal>{* Smarty *}</literal> - ýòî <link linkend="language.syntax.comments">êîììåíòàðèé</link> øàáëîíà. Îí íå ÿâëÿåòñÿ îáÿçàòåëüíûì, íî åãî ðàçìåùåíèå â íà÷àëå êàæäîãî øàáëîíà ÿâëÿåòñÿ õîðîøèì òîíîì. Ýòî ïîçâîëÿåò ïðîùå ðàçëè÷àòü ôàéëû íåçàâèñèìî @@ -417,28 +540,32 @@ </note> <para> - Òåïåðü äàâàéòå îòðåäàêòèðóåì 'index.php'. Ìû ñîçäàäèì ýêçåìïëÿð Smarty, + Òåïåðü äàâàéòå îòðåäàêòèðóåì <filename>index.php</filename>. + Ìû ñîçäàäèì ýêçåìïëÿð Smarty, <link linkend="api.assign">ïðèñâîèì</link> çíà÷åíèå ïåðåìåííîé øàáëîíà è - <link linkend="api.display">îòîáðàçèì</link> ôàéë 'index.tpl'. + <link linkend="api.display">îòîáðàçèì</link> ôàéë + <filename>index.tpl</filename>. </para> <example> - <title>Ðåäàêòèðîåíèå /web/www.example.com/docs/guestbook/index.php</title> + <title>/web/www.example.com/docs/guestbook/index.php</title> <programlisting role="php"> <![CDATA[ <?php -// çàãðóæàåì áèáëèîòåêó Smarty require_once(SMARTY_DIR . 'Smarty.class.php'); $smarty = new Smarty(); -$smarty->template_dir = '/web/www.example.com/smarty/guestbook/templates/'; -$smarty->compile_dir = '/web/www.example.com/smarty/guestbook/templates_c/'; -$smarty->config_dir = '/web/www.example.com/smarty/guestbook/configs/'; -$smarty->cache_dir = '/web/www.example.com/smarty/guestbook/cache/'; +$smarty->template_dir = '/web/www.example.com/guestbook/templates/'; +$smarty->compile_dir = '/web/www.example.com/guestbook/templates_c/'; +$smarty->config_dir = '/web/www.example.com/guestbook/configs/'; +$smarty->cache_dir = '/web/www.example.com/guestbook/cache/'; + +$smarty->assign('name', 'Êàòðóñüêà'); -$smarty->assign('name', 'Êðèñòèíà'); +//** ðàñêîììåíòèðóéòå ñëåäóþùóþ ñòðîêó äëÿ îòîáðàæåíèÿ îòëàäî÷íîé êîíñîëè +//$smarty->debugging = true; $smarty->display('index.tpl'); ?> @@ -447,11 +574,11 @@ </example> <note> - <title>Òåõíè÷åñêîå çàìå÷àíèå</title> + <title>Ïðèìå÷àíèå</title> <para>  íàøåì ïðèìåðå ìû óñòàíàâëèâàåì àáñîëþòíûå ïóòè êî âñåì äèðåêòîðèÿì Smarty. Åñëè <filename - class="directory">/web/www.example.com/smarty/guestbook/</filename> + class="directory">/web/www.example.com/guestbook/</filename> íàõîäèòñÿ â include_path âàøåãî PHP, òî ýòè íàñòðîéêè íå îáÿçàòåëüíû. Òåì íå ìåíåå, áîëåå ýôôåêòèâíûì è (èç îïûòà) ìåíåå ãëþêîîïàñíûì ÿâëÿåòñÿ èñïîëüçîâàíèå àáñîëþòíûõ ïóòåé. Ýòî ïðèäàñò óâåðåííîñòü â òîì, ÷òî Smarty @@ -462,7 +589,7 @@ <para> Òåïåðü ïåðåéäèòå ê ôàéëó <filename>index.php</filename> ïðè ïîìîùè âàøåãî âåá-áðàóçåðà. Âû äîëæíû óâèäåòü íàäïèñü - "Ïðèâåò, Êðèñòèíà! Äîáðî ïîæàëîâàòü â Smarty!" + <emphasis>"Ïðèâåò, Êàòðóñüêà! Äîáðî ïîæàëîâàòü â Smarty!"</emphasis> </para> <para> Âû çàêîí÷èëè áàçîâóþ óñòàíîâêó Smarty! @@ -477,18 +604,23 @@ ñïåðâà ïðî÷èòàéòå å¸. </para> <para> - Íåìíîãî áîëåå ãèáêèì ñïîñîáîì óñòàíîâêè Smarty ÿâëÿåòñÿ íàñëåäîâàíèå êëàññà + Íåìíîãî áîëåå ãèáêèì ñïîñîáîì óñòàíîâêè Smarty ÿâëÿåòñÿ + <ulink url="&url.php-manual;ref.classobj">íàñëåäîâàíèå êëàññà</ulink> è èíèöèàëèçàöèÿ âàøåãî ñîáñòâåííîãî îêðóæåíèÿ Smarty. Òàêèì îáðàçîì, âìåñòî òîãî, ÷òîáû ïîñòîÿííî óñòàíàâëèâàòü ïóòè äèðåêòîðèé, ïðèñâàèâàòü îäíè è òå æå ïåðåìåííûå è ò.ä., ìû ìîæåì âñ¸ ýòî ñäåëàòü â îäíîì ìåñòå. - Äàâàéòå ñîçäàäèì íîâóþ äèðåêòîðèþ "/php/includes/guestbook/",à â íåé - + </para> + <para> + Äàâàéòå ñîçäàäèì íîâóþ äèðåêòîðèþ <filename + class="directory">/php/includes/guestbook/</filename>,à â íåé - íîâûé ôàéë, êîòîðûé íàçîâåì <filename>setup.php</filename>. Ïî óñëîâèÿì - íàøåãî ïðèìåðà, "/php/includes" íàõîäèòñÿ â include_path. Óáåäèòåñü, ÷òîáû + íàøåãî ïðèìåðà, <filename class="directory">/php/includes</filename> + íàõîäèòñÿ â <literal>include_path</literal>. Óáåäèòåñü, ÷òîáû òî æå ñàìîå áûëî è ó âàñ, èëè èñïîëüçóåòé àáñîëþòíûå ïóòè. </para> <example> - <title>Ðåäàêòèðîâàíèå /php/includes/guestbook/setup.php</title> + <title>/php/includes/guestbook/setup.php</title> <programlisting role="php"> <![CDATA[ <?php @@ -511,10 +643,10 @@ $this->Smarty(); - $this->template_dir = '/web/www.example.com/smarty/guestbook/templates/'; - $this->compile_dir = '/web/www.example.com/smarty/guestbook/templates_c/'; - $this->config_dir = '/web/www.example.com/smarty/guestbook/configs/'; - $this->cache_dir = '/web/www.example.com/smarty/guestbook/cache/'; + $this->template_dir = '/web/www.example.com/guestbook/templates/'; + $this->compile_dir = '/web/www.example.com/guestbook/templates_c/'; + $this->config_dir = '/web/www.example.com/guestbook/configs/'; + $this->cache_dir = '/web/www.example.com/guestbook/cache/'; $this->caching = true; $this->assign('app_name', 'Guest Book'); @@ -527,18 +659,19 @@ </example> <para> - Òåïåðü äàâàéòå èçìåíèì index.php, ÷òîáû îí èñïîëüçîâàë setup.php: + Òåïåðü äàâàéòå èçìåíèì <filename>index.php</filename>, + ÷òîáû îí èñïîëüçîâàë <filename>setup.php</filename>: </para> <example> - <title>Ðåäàêòèðîâàíèå /web/www.example.com/docs/guestbook/index.php</title> + <title>/web/www.example.com/guestbook/htdocs/index.php</title> <programlisting role="php"> <![CDATA[ <?php require('guestbook/setup.php'); -$smarty = new Smarty_GuestBook; +$smarty = new Smarty_GuestBook(); $smarty->assign('name','Ned'); @@ -550,8 +683,8 @@ <para> Òåïåðü âû âèäèòå, ÷òî ñîçäàòü ýêçåìïëÿð Smarty äîâîëüíî ïðîñòî - íóæíî ëèøü - èñïîëüçîâàòü Smarty_GuestBook, êîòîðûé àâòîìàòè÷åñêè èíèöèàëèçèðóåò âñå - íàñòðîéêè äëÿ íàøåãî ïðèëîæåíèÿ. + èñïîëüçîâàòü <literal>Smarty_GuestBook</literal>, êîòîðûé àâòîìàòè÷åñêè + èíèöèàëèçèðóåò âñå íàñòðîéêè äëÿ íàøåãî ïðèëîæåíèÿ. </para> </sect1> http://cvs.php.net/viewvc.cgi/smarty/docs/ru/language-snippets.ent?r1=1.7&r2=1.8&diff_format=u Index: smarty/docs/ru/language-snippets.ent diff -u smarty/docs/ru/language-snippets.ent:1.7 smarty/docs/ru/language-snippets.ent:1.8 --- smarty/docs/ru/language-snippets.ent:1.7 Sun Aug 28 16:51:15 2005 +++ smarty/docs/ru/language-snippets.ent Wed Nov 22 14:56:35 2006 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="windows-1251"?> -<!-- $Revision: 1.7 $ --> -<!-- EN-Revision: 1.5 Maintainer: freespace Status: ready --> +<!-- $Revision: 1.8 $ --> +<!-- EN-Revision: 1.7 Maintainer: freespace Status: ready --> <!ENTITY note.parameter.merge '<note> <title>Òåõíè÷åñêîå çàìå÷àíèå</title> @@ -9,7 +9,7 @@ ïîýòîìó åñëè âû îáúåäèíÿåòå ìàññèâû ñ ÷èñëîâûìè èíäåêñàìè, òî îíè ìîãóò íàëîæèòüñÿ äðóã íà äðóãà èëè ïðèâåñòè ê íåïîñëåäîâàòåëüíîìó ïîðÿäêó êëþ÷åé. Ðåçóëüòàò îòëè÷àåòñÿ îò äåéñòâèÿ ôóíêöèè PHP - <ulink url="&url.php-manual;array_merge">array_merge()</ulink>, + <ulink url="&url.php-manual;array_merge"><varname>array_merge()</varname></ulink>, êîòîðàÿ çàíîâî íóìåðóåò ýëåìåíòû â ìàññèâå ñ ÷èñëîâîìè êëþ÷àìè. </para> </note>'> @@ -23,13 +23,38 @@ Äðóãîå ïðèìåíåíèå <parameter>$compile_id</parameter> ìîæíî íàéòè, åñëè âû èñïîëüçóåòå íåñêîëüêî - <link linkend="variable.template.dir">$template_dir</link>, + <link linkend="variable.template.dir"><parameter>$template_dir</parameter></link>, íî òîëüêî îäíó - <link linkend="variable.compile.dir">$compile_dir</link>. + <link linkend="variable.compile.dir"><parameter>$compile_dir</parameter></link>. Óñòàíàâëèâàéòå ñâîé <parameter>compile_id</parameter> äëÿ êàæäîé - <link linkend="variable.template.dir">$template_dir</link>, + <link linkend="variable.template.dir"><parameter>$template_dir</parameter></link>, èíà÷å øàáëîíû ñ îäèíàêîâûìè èìåíàìè áóäóò ñîõðàíÿòüñÿ ïîâåðõ äðóã äðóãà. Òàêæå âû ìîæåòå îäèí ðàç óêàçàòü - <link linkend="variable.compile.id">$compile_id</link>, + <link linkend="variable.compile.id"><parameter>$compile_id</parameter></link>, âìåñòî òîãî, ÷òîáû êàæäûé ðàç ïåðåäàâàòü åãî ïðè âûçîâå ýòîé ôóíêöèè. </para>'> + +<!ENTITY api.register.snippet '<para> + Callback-ôóíêöèÿ PHP ìîæåò áûòü: + <itemizedlist> + <listitem> + <para> + Ëèáî ñòðîêîé, ñîäåðæàùåé èìÿ ôóíêöèè. + </para> + </listitem> + <listitem> + <para> + Ëèáî ìàññèâîì âèäà <literal>array(&$object, $method)</literal>, + ãäå <literal>&$object</literal> - ññûëêà íà îáúåê, à + <literal>$method</literal> - ñòðîêà, ñîäåðæàùàÿ èìÿ ìåòîäà. + </para> + </listitem> + <listitem> + <para> + Ëèáî ìàññèâîì âèäà <literal>array($class, $method)</literal>, + ãäå <literal>$class</literal> - ñòðîêà, ñîäåðæàùàÿ èìÿ êëàññà, à + <literal>$method</literal> - ñòðîêà, ñîäåðæàùàÿ èìÿ ìåòîäà ýòîãî êëàññà. + </para> + </listitem> + </itemizedlist> +</para>'>
http://cvs.php.net/viewvc.cgi/smarty/docs/ru/getting-started.xml?r1=1.13&r2=1.14&diff_format=u Index: smarty/docs/ru/getting-started.xml diff -u smarty/docs/ru/getting-started.xml:1.13 smarty/docs/ru/getting-started.xml:1.14 --- smarty/docs/ru/getting-started.xml:1.13 Mon Dec 5 17:11:58 2005 +++ smarty/docs/ru/getting-started.xml Wed Nov 22 14:56:35 2006 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="windows-1251"?> -<!-- $Revision: 1.13 $ --> -<!-- EN-Revision: 1.13 Maintainer: freespace Status: ready --> +<!-- $Revision: 1.14 $ --> +<!-- EN-Revision: 1.18 Maintainer: freespace Status: ready --> <part id="getting.started"> <title>Ïðèñòóïàÿ ê ðàáîòå</title> @@ -13,46 +13,109 @@ ïðåäñòàâëåíèÿ. Ýòî î÷åíü óäîáíî â ñèòóàöèÿõ, êîãäà ïðîãðàììèñò è âåðñòàëüùèê øàáëîíà - ðàçëè÷íûå ëþäè. </para> + <para> Íàïðèìåð, ñêàæåì, âû ñîçäàåòå ñòðàíèöó, êîòîðàÿ ïîêàçûâàåò ãàçåòíóþ - ñòàòüþ. Íàçâàíèå ñòàòüè, àâòîð è ñàìà ñòàòüÿ - ýëåìåíòû, êîòîðûå íå - ñîäåðæàò íèêàêîé èíôîðìàöèè î òîì, êàê îíè áóäóò ïðåäñòàâëåíû. Èõ - ïåðåäàþò â Smarty èç ïðèëîæåíèÿ, à âåðñòàëüùèê øàáëîíà ðåäàêòèðóåò - øàáëîíû è èñïîëüçóåò êîìáèíàöèþ òýãîâ HTML è òýãîâ øàáëîíà, ÷òîáû - îòôîðìàòèðîâàòü ïðåäñòàâëåíèå ýòèõ ýëåìåíòîâ (òàáëèöû HTML, ôîíîâûå - öâåòà, ðàçìåðû øðèôòà, ñòèëÿ è ò.ä.). Îäíàæäû ïðîãðàììèñò çàõî÷åò - èçìåíèòü ñïîñîá õðàíåíèÿ ñòàòüè (ñäåëàòü èçìåíåíèÿ â ëîãèêå ïðèëîæåíèÿ). - Ýòî èçìåíåíèå íå âûçîâåò èçìåíåíèé â øàáëîíàõ. Ñîäåðæàíèå áóäåò âñå åùå - ïåðåäàâàòüñÿ â øàáëîí òàêèì æå ñàìûì ñïîñîáîì. - Àíàëîãè÷íî, åñëè âåðñòàëüùèê çàõî÷åò ïîëíîñòüþ ïåðåïðîåêòèðîâàòü - øàáëîíû, ýòî íå ïîòðåáóåò íèêàêèõ èçìåíåíèé â ïðèêëàäíîé ëîãèêå. + ñòàòüþ. </para> + <itemizedlist> + <listitem> + <para> + Íàçâàíèå ñòàòüè, àâòîð è ñàìà ñòàòüÿ - ýëåìåíòû, êîòîðûå íå + ñîäåðæàò íèêàêîé èíôîðìàöèè î òîì, êàê îíè áóäóò ïðåäñòàâëåíû. Èõ + <link linkend="api.assign">ïåðåäàþò</link> + â Smarty èç ïðèëîæåíèÿ. + </para> + </listitem> + <listitem> + <para> + Çàòåì âåðñòàëüùèê øàáëîíà ðåäàêòèðóåò + øàáëîíû è èñïîëüçóåò êîìáèíàöèþ òýãîâ HTML è + <link linkend="language.basic.syntax">òýãîâ øàáëîíà</link>, + ÷òîáû îòôîðìàòèðîâàòü ïðåäñòàâëåíèå ýòèõ + <link linkend="language.syntax.variables">ïåðåìåííûõ</link>, + ñîäåðæàùèõ ýëåìåíòû òèïà òàáëèö HTML, ôîíîâûõ öâåòîâ, ðàçìåðîâ øðèôòà, + ñòèëåé, SVG è ò.ä.). + </para> + </listitem> + <listitem> + <para> + Îäíàæäû ïðîãðàììèñò çàõî÷åò èçìåíèòü ñïîñîá õðàíåíèÿ ñòàòüè, òî åñòü + âíåñòè èçìåíåíèÿ â ëîãèêó ïðèëîæåíèÿ. + Ýòî èçìåíåíèå íå âûçîâåò èçìåíåíèé â øàáëîíàõ. Ñîäåðæàíèå áóäåò âñå åùå + ïåðåäàâàòüñÿ â øàáëîí òàêèì æå ñàìûì ñïîñîáîì. + </para> + </listitem> + <listitem> + <para> + Àíàëîãè÷íî, åñëè âåðñòàëüùèê çàõî÷åò ïîëíîñòüþ ïåðåïðîåêòèðîâàòü + øàáëîíû, ýòî íå ïîòðåáóåò íèêàêèõ èçìåíåíèé â ïðèêëàäíîé ëîãèêå. + </para> + </listitem> + <listitem> + <para> + Òàêèì îáðàçîì, ïðîãðàììèñò ìîæåò âíîñèòü èçìåíåíèÿ â ïðèêëàäíóþ ëîãèêó + áåç íåîáõîäèìîñòè èçìåíåíèÿ øàáëîíîâ, à äèçàéíåð øàáëîíîâ ìîæåò + âíîñèòü èçìåíåíèÿ â øàáëîíû áåç âðåäà äëÿ ïðèêëàäíîé ëîãèêè. + </para> + </listitem> + </itemizedlist> + <para> Îäíî èç ïðåäíàçíà÷åíèé Smarty - ýòî îòäåëåíèå ëîãèêè ïðèëîæåíèÿ îò - ïðåäñòàâëåíèÿ. Êîíå÷íî æå, øàáëîíû ìîãóò ñîäåðæàòü â ñåáå ëîãèêó, íî - ëèøü ïðè óñëîâèè, ÷òî ýòà ëîãèêà íåîáõîäèìà äëÿ ïðàâèëüíîãî ïðåäñòàâëåíèÿ - äàííûõ. Òàêèå çàäà÷è, êàê ïîäêëþ÷åíèå äðóãèõ øàáëîíîâ, ÷åðåäóþùàÿñÿ îêðàñêà - ñòðî÷åê â òàáëèöå, ïðèâåäåíèå áóêâ ê âåðõíåìó ðåãèñòðó, öèêëè÷åñêèé ïðîõîä - ïî ìàññèâó äëÿ åãî îòîáðàæåíèÿ è ò.ä. - âñ¸ ýòî ÿâëÿåòñÿ ïðèìåðîì ëîãèêè - ïðåäñòàâëåíèÿ. Íå ñëåäóåò äóìàòü, ÷òî Smarty çàñòàâëÿåò âàñ ðàçäåëÿòü - ëîãèêó ïðèëîæåíèÿ è ïðåäñòàâëåíèå. Smarty íå âèäèò ðàçíèöû ìåæäó ýòèìè - âåùàìè, òàê ÷òî ïîìåùàòü èëè íå ïîìåùàòü ëîãèêó ïðèëîæåíèÿ â øàáëîíû - - ðåøàòü âàì. Åñëè æå âû ñ÷èòàåòå, ÷òî â øàáëîíå <emphasis>âîîáùå</emphasis> - íå äîëæíî áûòü ëîãèêè, âû ìîæåòå îãðàíè÷èòüñÿ èñïîëüçîâàíèåì ÷èñòîãî - òåêñòà è ïåðåìåííûõ. + ïðåäñòàâëåíèÿ. </para> + + <itemizedlist> + <listitem> + <para> + Êîíå÷íî æå, øàáëîíû ìîãóò ñîäåðæàòü â ñåáå ëîãèêó, íî + ëèøü ïðè óñëîâèè, ÷òî ýòà ëîãèêà íåîáõîäèìà äëÿ ïðàâèëüíîãî ïðåäñòàâëåíèÿ + äàííûõ. Òàêèå çàäà÷è, êàê + <link linkend="language.function.include">ïîäêëþ÷åíèå</link> + äðóãèõ øàáëîíîâ, + <link linkend="language.function.cycle">÷åðåäóþùàÿñÿ</link> + îêðàñêà ñòðî÷åê â òàáëèöå, + <link linkend="language.modifier.upper">ïðèâåäåíèå áóêâ ê âåðõíåìó + ðåãèñòðó</link>, + <link linkend="language.function.foreach">öèêëè÷åñêèé ïðîõîä</link> + ïî ìàññèâó äëÿ åãî + <link linkend="api.display">îòîáðàæåíèÿ</link> è ò.ä. - âñ¸ ýòî + ïðèìåðû ëîãèêè ïðåäñòàâëåíèÿ. + </para> + </listitem> + <listitem> + <para> + Òåì íå ìåíåå, íå ñëåäóåò ïîëàãàòü, ÷òî Smarty çàñòàâëÿåò âàñ ðàçäåëÿòü + ïðèêëàäíóþ ëîãèêó è ëîãèêó ïðåäñòàâëåíèÿ. + Smarty íå âèäèò ðàçíèöû ìåæäó ýòèìè âåùàìè, òàê ÷òî ïåðåíîñèòü + ïðèêëàäíóþ ëîãèêó â øàáëîíû âû ìîæåòå íà ñâîé ñòðàõ è ðèñê. + </para> + </listitem> + <listitem> + <para> + Åñëè æå âû ñ÷èòàåòå, ÷òî â øàáëîíå <emphasis>âîîáùå</emphasis> + íå äîëæíî áûòü ëîãèêè, âû ìîæåòå îãðàíè÷èòüñÿ èñïîëüçîâàíèåì ÷èñòîãî + òåêñòà è ïåðåìåííûõ. + </para> + </listitem> + </itemizedlist> + <para> Îäíà èç óíèêàëüíûõ âîçìîæíîñòåé Smarty - êîìïèëèðîâàíèå øàáëîíîâ. Ýòî îçíà÷àåò, ÷òî Smarty ÷èòàåò ôàéëû øàáëîíîâ è ñîçäàåò PHP-êîä íà èõ îñíîâå. Êîä ñîçäà¸òñÿ îäèí ðàç è ïîòîì òîëüêî âûïîëíÿåòñÿ. Ïîýòîìó íåò - íåîáõîäèìîñòè îáðàáàòûâàòü ôàéë øàáëîíà äëÿ êàæäîãî çàïðîñà è êàæäûé - øàáëîí ìîæåò ïîëüçîâàòüñÿ âñåìè ïðåèìóùåñòâàìè òàêèõ êýøèðóþøèõ ðåøåíèé, - êàê Zend Accelerator - (<ulink url="&url.zend;">&url.zend;</ulink>) èëè PHP Accelerator - (<ulink url="&url.php-accelerator;">&url.php-accelerator;</ulink>). + íåîáõîäèìîñòè â ìåäëåííîé îáðàáîòêå ôàéë øàáëîíà äëÿ êàæäîãî çàïðîñà. + Êàæäûé øàáëîí ìîæåò ïîëüçîâàòüñÿ âñåìè ïðåèìóùåñòâàìè òàêèõ êîìïèëÿòîðîâ + PHP è êýøèðóþøèõ ðåøåíèé, êàê + <ulink url="&url.e-accel;">eAccelerator</ulink>, + <ulink url="&url.ion-accel;">ionCube</ulink>, + <ulink url="&url.mmcache-accel;">mmCache</ulink>, + <ulink url="&url.zend-accel;">Zend Accelerator</ulink> + è ïðî÷èõ. </para> <para> - Íåêîòîðûå îñîáåííîñòè Smarty: + <emphasis role="bold">Íåêîòîðûå îñîáåííîñòè Smarty:</emphasis> </para> <itemizedlist> <listitem> @@ -72,31 +135,35 @@ </listitem> <listitem> <para> - Ïåðåêîìïèëèðóþòñÿ òîëüêî òå øàáëîíû, êîòîðûå èçìåíèëèñü. + <link linkend="variable.compile.check">Ïåðåêîìïèëèðóþòñÿ</link> + òîëüêî òå øàáëîíû, êîòîðûå èçìåíèëèñü. </para> </listitem> <listitem> <para> - Âû ìîæåòå ñîçäàâàòü ïîëüçîâàòåëüñêèå <link + Âû ìîæåòå ëåãêî ñîçäàâàòü ñîáñòâåííûå ïîëüçîâàòåëüñêèå <link linkend="language.custom.functions">ôóíêöèè</link> è - <link linkend="language.modifiers">ìîäèôèêàòîðû</link>, + <link linkend="language.modifiers">ìîäèôèêàòîðû ïåðåìåííûõ</link>, ÷òî äåëàåò ÿçûê øàáëîíîâ ÷ðåçâû÷àéíî ðàñøèðÿåìûì. </para> </listitem> <listitem> <para> Íàñòðàèâàåìûå - <link linkend="variable.left.delimiter">ðàçäåëèòåëè òýãîâ</link> - øàáëîíà, òî åñòü âû ìîæåòå èñïîëüçîâàòü {}, {{}}, <!--{}--> - è ò.ä. + <link linkend="variable.left.delimiter">{ðàçäåëèòåëè}</link> òýãîâ + øàáëîíà, òî åñòü âû ìîæåòå èñïîëüçîâàòü + <literal>{$foo}</literal>, <literal>{{$foo}}</literal>, + <literal><!--{$foo}--></literal> è ò.ä. </para> </listitem> <listitem> <para> Êîíñòðóêöèè - <link linkend="language.function.if">if/elseif/else/endif</link> - ïåðåäàþòñÿ îáðàáîò÷èêó PHP, òàê ÷òî ñèíòàêñèñ âûðàæåíèÿ {if ...} ìîæåò - áûòü íàñòîëüêî ïðîñòûì èëè ñëîæíûì, íàñêîëüêî âàì óãîäíî. + <link linkend="language.function.if"> + <literal>{if}..{elseif}..{else}..{/if}</literal></link> + ïåðåäàþòñÿ îáðàáîò÷èêó PHP, òàê ÷òî ñèíòàêñèñ âûðàæåíèÿ + <literal>{if...}</literal> ìîæåò áûòü íàñòîëüêî ïðîñòûì èëè ñëîæíûì, + íàñêîëüêî âàì óãîäíî. </para> </listitem> <listitem> @@ -111,7 +178,8 @@ Ñóùåñòâóåò âîçìîæíîñòü <link linkend="language.function.php">âêëþ÷åíèÿ PHP-êîäà</link> ïðÿìî â âàø øàáëîí, îäíàêî îáû÷íî â ýòîì íåò íåîáõîäèìîñòè - (è ýòî íå ðåêîììåíäóåòñÿ), òàê êàê äâèæîê âåñüìà ãèáîê è ðàñøèðÿåì. + (è ýòî íå ðåêîììåíäóåòñÿ), òàê êàê äâèæîê âåñüìà ãèáîê è + <link linkend="plugins">ðàñøèðÿåì</link>. </para> </listitem> <listitem> @@ -139,6 +207,10 @@ </itemizedlist> </chapter> + + + + <chapter id="installation"> <title>Óñòàíîâêà</title> @@ -152,42 +224,71 @@ <sect1 id="installing.smarty.basic"> <title>Áàçîâàÿ óñòàíîâêà</title> <para> - Ñêîïèðóéòå ôàéëû Smarty, êîòîðûå íàõîäÿòñÿ â ñóáäèðåêòîðèè /libs/ + Ñêîïèðóéòå ôàéëû Smarty, êîòîðûå íàõîäÿòñÿ â ñóáäèðåêòîðèè + <filename class="directory">/libs/</filename> äèñòðèáóòèâà. Ðåäàêòèðîâàòü ýòè PHP-ôàéëû ÍÅ ÑËÅÄÓÅÒ. Îíè äîëæíû èñïîëüçîâàòüñÿ âñåìè ïðèëîæåíèÿìè è èçìåíÿòüñÿ òîëüêî ïðè îáíîâëåíèè Smarty äî íîâîé âåðñèè. </para> + <para> +  ñëåäóþùèõ ïðèìåðàõ àðõèâ ñ èñõîäíûì êîäîì Smarty áûë ðàñïàêîâàí â + <itemizedlist> + <listitem> + <para> + <filename class="directory">/usr/local/lib/Smarty-v.e.r/</filename> + äëÿ ìàøèí ïîä *nix + </para> + </listitem> + <listitem> + <para> + è + <filename class="directory">c:\webroot\libs\Smarty-v.e.r\</filename> + äëÿ ìàøèí ïîä Windows. + </para> + </listitem> + </itemizedlist> + </para> + <example> <title>Íåîáõîäèìûå ôàéëû áèáëèîòåêè Smarty</title> <screen> <![CDATA[ -Smarty.class.php -Smarty_Compiler.class.php -Config_File.class.php -debug.tpl -/internals/*.php (âñå ôàéëû) -/plugins/*.php (âñå ôàéëû, íî îòäåëüíîìó ñàéòó ìîãóò ïîíàäîáèòüñÿ íå âñå) +Smarty-v.e.r/ + libs/ + Smarty.class.php + Smarty_Compiler.class.php + Config_File.class.php + debug.tpl + internals/*.php (âñå ôàéëû) + plugins/*.php (âñå ôàéëû) ]]> </screen> </example> <para> Smarty èñïîëüçóåò <ulink url="&url.php-manual;define">êîíñòàíòó</ulink> PHP - <link linkend="constant.smarty.dir">SMARTY_DIR</link>, êîòîðàÿ óêàçûâàåò - <emphasis role="bold">ïîëíûé ïóòü</emphasis> ê äèðåêòîðèè 'libs/' Smarty. + <link linkend="constant.smarty.dir"> + <constant>SMARTY_DIR</constant></link>, êîòîðàÿ óêàçûâàåò + <emphasis role="bold">ïîëíûé ïóòü</emphasis> ê äèðåêòîðèè + <filename>libs/</filename> èç Smarty. Îáû÷íî, åñëè âàøå ïðèëîæåíèå ìîæåò íàéòè ôàéë <filename>Smarty.class.php</filename>, òî íåò íåîáõîäèìîñòè - óñòàíàâëèâàòü SMARTY_DIR - Smarty ñàì âî âñ¸ì ðàçáåð¸òñÿ. Îäíàêî, åñëè + óñòàíàâëèâàòü + <link linkend="constant.smarty.dir"><constant>SMARTY_DIR</constant></link> + - Smarty ñàì âî âñ¸ì ðàçáåð¸òñÿ. + Îäíàêî, åñëè <filename>Smarty.class.php</filename> íå ìîæåò áûòü íàéäåí â âàøåì include_path èëè âû íå óêàçûâàëè àáñîëþòíûé ïóòü ê - íåìó â ïðèëîæåíèè, òî âû äîëæíû îïðåäåëèòü SMARTY_DIR âðó÷íóþ. - SMARTY_DIR <emphasis role="bold">äîëæåí âêëþ÷àòü çàâåðøàþùèé ñëýø</emphasis>. - </para> - <para> - Âîò êàê ñëåäóåò ñîçäàâàòü ýêçåìïëÿð îáúåêòà Smarty â âàøèõ PHP-ñêðèïòàõ: + íåìó â ïðèëîæåíèè, òî âû äîëæíû îïðåäåëèòü + <constant>SMARTY_DIR</constant> âðó÷íóþ. + <constant>SMARTY_DIR</constant> <emphasis role="bold">äîëæíà âêëþ÷àòü + çàâåðøàþùèé ñëýø</emphasis>. </para> - <example> - <title>Ñîçäàíèå îáåêòà Smarty</title> - <programlisting role="php"> + + <informalexample> + <para> + Âîò êàê ñëåäóåò ñîçäàâàòü ýêçåìïëÿð îáúåêòà Smarty â âàøèõ PHP-ñêðèïòàõ: + </para> + <programlisting role="php"> <![CDATA[ <?php // Îáðàòèòå âíèìàíèå: â ñëîâå Smarty áóêâà 'S' äîëæíà áûòü çàãëàâíîé @@ -196,7 +297,7 @@ ?> ]]> </programlisting> - </example> + </informalexample> <para> Ïîïðîáóéòå âûïîëíèòü âûøåóêàçàííûé êîä. Åñëè Âû ïîëó÷àåòå îøèáêó î òîì, @@ -210,7 +311,7 @@ <![CDATA[ <?php // ñòèëü *nix (íå çàáûâàéòå î çàãëàâíîé 'S') -define('SMARTY_DIR', '/usr/local/lib/php/Smarty-v.e.r/libs/'); +define('SMARTY_DIR', '/usr/local/lib/Smarty-v.e.r/libs/'); // ñòèëü windows define('SMARTY_DIR', 'c:/webroot/libs/Smarty-v.e.r/libs/'); @@ -232,7 +333,7 @@ <![CDATA[ <?php // ñòèëü *nix (íå çàáûâàéòå î çàãëàâíîé 'S') -require_once('/usr/local/lib/php/Smarty-v.e.r/libs/Smarty.class.php'); +require_once('/usr/local/lib/Smarty-v.e.r/libs/Smarty.class.php'); // ñòèëü windows require_once('c:/webroot/libs/Smarty-v.e.r/libs/Smarty.class.php'); @@ -243,128 +344,146 @@ </programlisting> </example> - <example> - <title>Äîáàâëåíèå ôàéëîâ áèáëèîòåêè ê include_path PHP</title> + <example> + <title>Äîáàâëåíèå áèáëèîòåêè â ïóòü â ôàéëå <filename>php.ini</filename></title> <programlisting role="php"> <![CDATA[ -<?php -// Îòðåäàêòèðóéòå âàø ôàéë php.ini, äîáàâèâ äèðåêòîðèþ -// áèáëèîòåêè Smarty â include_path è ïåðåçàïóñòèòå âåá-ñåðâåð. -// çàòåì, ñëåäóþùèé êîä äîëæåí ðàáîòàòü: -require_once('Smarty.class.php'); -$smarty = new Smarty(); -?> +;;;;;;;;;;;;;;;;;;;;;;;;; +; Paths and Directories ; +;;;;;;;;;;;;;;;;;;;;;;;;; + +; *nix: "/path1:/path2" +include_path = ".:/usr/share/php:/usr/local/lib/Smarty-v.e.r/libs/" + +; Windows: "\path1;\path2" +include_path = ".;c:\php\includes;c:\webroot\libs\Smarty-v.e.r\libs\" ]]> </programlisting> </example> - <para> - Òåïåðü, êîãäà âñå ôàéëû íàõîäÿòñÿ íà ñâîèõ ìåñòàõ, ïðèøëî âðåìÿ - óñòàíîâêè äèðåêòîðèé Smarty â âàøåì ïðèëîæåíèè. Smarty òðåáóåò - ÷åòûðå äèðåêòîðèè, êîòîðûå ïî óìîë÷àíèþ íàçûâàþòñÿ - <filename class="directory">'templates/'</filename>, - <filename class="directory">'templates_c/'</filename>, - <filename class="directory">'configs/'</filename> è - <filename class="directory">'cache/'</filename>. Êàæäàÿ èç - íèõ îïðåäåëÿåòñÿ ñâîéñòâàìè êëàññà Smarty: - <link linkend="variable.template.dir"> - <varname>$template_dir</varname></link>, - <link linkend="variable.compile.dir"> - <varname>$compile_dir</varname></link>, - <link linkend="variable.config.dir"> - <varname>$config_dir</varname></link> è - <link linkend="variable.cache.dir"> - <varname>$cache_dir</varname></link> ñîîòâåòñòâåííî. - Íàñòîé÷èâî ðåêîìåíäóåòñÿ èñïîëüçîâàòü ðàçíûå íàáîðû - ýòèõ äèðåêòîðèé äëÿ êàæäîãî ïðèëîæåíèÿ, èñïîëüçóþùåãî Smarty. - </para> - <para> - Óáåäèòåñü, ÷òî âû çíàåòå ðàñïîëîæåíèå êîðíåâîé äèðåêòîðèè äëÿ äîêóìåíòîâ - âàøåãî âåá-ñåðâåðà.  íàøåì ïðèìåðå ýòî <filename - class="directory">/web/www.example.com/docs/</filename>. - Òàê êàê äîñòóï ê äèðåêòîðèÿì Smarty ïîëó÷àåò òîëüêî áèáëèîòåêà Smarty - è îíè íèêîãäà íå çàïðàøèâàþòñÿ íàïðÿìóþ âåá-áðàóçåðîì, âàì ðåêîìåíäóåòñÿ - âûíåñòè äèðåêòîðèè Smarty <emphasis>çà ïðåäåëû</emphasis> êîðíåâîé - äèðåêòîðèè äëÿ äîêóìåíòîâ, ÷òîáû èçáåæàòü ëèøíåãî áåñïîêîéñòâà - îòíîñèòåëüíî áåçîïàñíîñòè. - </para> - <para> -  íàøåì ïðèìåðå ìû áóäåì óñòàíàâëèâàòü Smarty äëÿ íåêîòîðîé ãîñòåâîé - êíèãè. Ïðèëîæåíèå áûëî âûáðàíî òîëüêî äëÿ òîãî, ÷òîáû èñïîëüçîâàòü åãî - èìÿ â èìåíàõ äèðåêòîðèé. Âû ìîæåòå èñïîëüçîâàòü òå æå íàñòðîéêè ñ ëþáûì - äðóãèì ïðèëîæåíèåì, ïðîñòî ìåíÿÿ "guestbook" íà èìÿ âàøåãî ïðèëîæåíèÿ. - Ìû æå ðàçìåñòèì íàøè äèðåêòîðèè Smarty òóò: - <filename - class="directory">web/www.example.com/smarty/guestbook/</filename> - </para> - <para> - Âàì ïîíàäîáèòñÿ êàê ìèíèìóì îäèí ôàéë â êîðíåâîé äèðåêòîðèè äëÿ äîêóìåíòîâ - - ýòî ñêðèïò, ê êîòîðîìó îáðàùàåòñÿ âåá-áðàóçåð. Ìû íàçîâ¸ì íàø ñêðèïò - <emphasis>'index.php'</emphasis> è ïîìåñòèì åãî â ïîääèðåêòîðèþ - <filename class="directory">/guestbook/</filename> êîðíåâîé äèðåêòîðèè - äëÿ äîêóìåíòîâ. - </para> + <example> + <title> + Äîïèñûâàíèå include_path èç PHP-ñêðèïòà èñïîëüçóÿ + <literal><ulink url="&url.e-accel;">ini_set()</ulink></literal> + </title> + <programlisting role="php"> +<![CDATA[ +<?php +// *nix +ini_set('include_path', ini_get('include_path').PATH_SEPARATOR.'/usr/local/lib/Smarty-v.e.r/libs/'); - <note> - <title>Òåõíè÷åñêîå çàìå÷àíèå</title> - <para> - Áûâàåò óäîáíî íàñòðîèòü âåá-ñåðâåð òàê, ÷òîáû 'index.php' ðàñöåíèâàëñÿ - êàê èíäåêñíûé ôàéë äèðåêîòðèè ïî óìîë÷àíèþ, ÷òîáû ïðè çàïðîñå ñòðàíèöû - http://www.example.com/guestbook/, âûçûâàëñÿ ñêðèïò 'index.php' áåç - 'index.php' â êîíöå àäðåñíîé ñòðîêè.  âåá-ñåðâåðå Apache âû ìîæåòå - íàñòðîèòü ýòî, äîáàâèâ "index.php" â êîíåö äèðåêòèâû - <emphasis>DirectoryIndex</emphasis> (çàïèñè ðàçäåëÿþòñÿ ïðîáåëàìè), - êàê â ïðèìåðå èç httpd.conf - </para> - <para> - <emphasis>DirectoryIndex - index.htm index.html index.php index.php3 default.html index.cgi - </emphasis> - </para> - </note> +// windows +ini_set('include_path', ini_get('include_path').PATH_SEPARATOR.'c:/webroot/lib/Smarty-v.e.r/libs/'); +?> +]]> + </programlisting> + </example> <para> - Äàâàéòå âçãëÿíèì íà òåêóùóþ ôàéëîâóþ ñòðóêòóðó: + Òåïåðü, êîãäà âñå ôàéëû íàõîäÿòñÿ íà ñâîèõ ìåñòàõ, ïðèøëî âðåìÿ + óñòàíîâêè äèðåêòîðèé Smarty â âàøåì ïðèëîæåíèè. + </para> + <itemizedlist> + <listitem> + <para> + Smarty íóæíî ÷åòûðå äèðåêòîðèè, êîòîðûå ïî óìîë÷àíèþ íàçûâàþòñÿ + <filename class="directory">templates/</filename>, + <filename class="directory">templates_c/</filename>, + <filename class="directory">configs/</filename> è + <filename class="directory">cache/</filename> + </para> + </listitem> + <listitem> + <para> + Êàæäàÿ èç íèõ îïðåäåëÿåòñÿ ñâîéñòâàìè êëàññà Smarty: + <link linkend="variable.template.dir"> + <varname>$template_dir</varname></link>, + <link linkend="variable.compile.dir"> + <varname>$compile_dir</varname></link>, + <link linkend="variable.config.dir"> + <varname>$config_dir</varname></link> è + <link linkend="variable.cache.dir"> + <varname>$cache_dir</varname></link> ñîîòâåòñòâåííî. + Íàñòîé÷èâî ðåêîìåíäóåòñÿ èñïîëüçîâàòü ðàçíûå íàáîðû + ýòèõ äèðåêòîðèé äëÿ êàæäîãî ïðèëîæåíèÿ, èñïîëüçóþùåãî Smarty. + </para> + </listitem> + </itemizedlist> + + <para> +  íàøåì ïðèìåðå ìû áóäåì óñòàíàâëèâàòü Smarty äëÿ íåêîòîðîé ãîñòåâîé + êíèãè. Ïðèëîæåíèå áûëî âûáðàíî òîëüêî äëÿ òîãî, ÷òîáû èñïîëüçîâàòü åãî + èìÿ â èìåíàõ äèðåêòîðèé. Âû ìîæåòå èñïîëüçîâàòü òå æå íàñòðîéêè ñ ëþáûì + äðóãèì ïðèëîæåíèåì, ïðîñòî ìåíÿÿ <literal>guestbook/</literal> + íà èìÿ âàøåãî ïðèëîæåíèÿ. </para> <example> - <title>Ôàéëîâàÿ ñòðóêòóðà ïðèìåðà</title> + <title>Âîò êàê âûãëÿäèò ôàéëîâàÿ ñòðóêòóðà</title> <screen> <![CDATA[ -/usr/local/lib/php/Smarty-v.e.r/libs/Smarty.class.php -/usr/local/lib/php/Smarty-v.e.r/libs/Smarty_Compiler.class.php -/usr/local/lib/php/Smarty-v.e.r/libs/Config_File.class.php -/usr/local/lib/php/Smarty-v.e.r/libs/debug.tpl -/usr/local/lib/php/Smarty-v.e.r/libs/internals/*.php -/usr/local/lib/php/Smarty-v.e.r/libs/plugins/*.php - -/web/www.example.com/smarty/guestbook/templates/ -/web/www.example.com/smarty/guestbook/templates_c/ -/web/www.example.com/smarty/guestbook/configs/ -/web/www.example.com/smarty/guestbook/cache/ - -/web/www.example.com/docs/guestbook/index.php +/usr/local/lib/Smarty-v.e.r/libs/ + Smarty.class.php + Smarty_Compiler.class.php + Config_File.class.php + debug.tpl + internals/*.php + plugins/*.php + +/web/www.example.com/ + guestbook/ + templates/ + index.tpl + templates_c/ + configs/ + cache/ + htdocs/ + index.php ]]> </screen> </example> - + + <para> + Óáåäèòåñü, ÷òî âû çíàåòå ðàñïîëîæåíèå êîðíåâîé äèðåêòîðèè äîêóìåíòîâ + âàøåãî âåá-ñåðâåðà.  ñëåäóþùèõ ïðèìåðàõ, êîðíåâîé äèðåêòîðèåé äîêóìåíòîâ + ÿâëÿåòñÿ <filename + class="directory">/web/www.example.com/guestbook/htdocs/</filename>. + Äîñòóï ê äèðåêòîðèÿì Smarty ïðîèñõîäèò òîëüêî èç áèáëèîòåêè Smarty è + íèêîãäà íå ïðîèñõîäèò ÷åðåç âåá-áðàóçåð. Ïîýòîìó, â öåëÿõ áåçîïàñíîñòè + ðåêîììåíäóåòñÿ ðàñïîëàãàòü ýòè äèðåêòîðèè <emphasis>çà ïðåäåëàìè</emphasis> + êîðíåâîé äèðåêòîðèè äîêóìåíòîâ ñåðâåðà, õîòÿ ýòî è íå îáÿçàòåëüíî. + </para> + <para> + Âàì ïîíàäîáèòüñÿ êàê ìèíèìóì îäèí ôàéë âíóòðè êîðíåâîé äèðåêòîðèè + äîêóìåíòîâ - ýòî ñêðèïò, âûçûâàåìûé âåá-áðàóçåðîì. Ìû íàçîâåì íàø ñêðèïò + <filename>index.php</filename> è ïîëîæèì åãî â ïîääèðåêòîðèþ âíóòðè + êîðíåâîé äèðåêòîðèè äîêóìåíòîâ <filename class="directory">/htdocs/</filename>. + </para> + <para> Smarty ïîíàäîáÿòñÿ <emphasis role="bold">ïðàâà íà çàïèñü</emphasis> - (ïîëüçîâàòåëåé Windows ýòî íå êàñàåòñÿ) â + (ïîëüçîâàòåëåé Windows ýòî íå êàñàåòñÿ) â äèðåêòîðèè <link linkend="variable.compile.dir"> - <emphasis>$compile_dir</emphasis></link> è + <parameter>$compile_dir</parameter></link> è <link linkend="variable.cache.dir"> - <emphasis>$cache_dir</emphasis></link>, + <parameter>$cache_dir</parameter></link> + (<filename class="directory">templates_c/</filename> è + <filename class="directory">cache/</filename>), òàê ÷òî óáåäèòåñü, ÷òî ó âåá-ñåðâåðà åñòü ýòè ïðàâà. - Îáû÷íî ñåðâåð çàïóùåí îò èìåíè ïîëüçîâàòåëÿ "nobody" ãðóïïû "nobody". - Äëÿ ïîëüçîâàòåëåé OS X ïîëüçîâàòåëåì ïî óìîë÷àíèþ ÿâëÿåòñÿ "www" - ãðóïïû "www". Åñëè âû èñïîëüçóåòå Apache, âû ìîæåòå çàãëÿíóòü â âàø ôàéë - httpd.conf (êîòîðûé îáû÷íî ðàñïîëîæåí â "/usr/local/apache/conf/") ÷òîáû - óçíàòü, êàêîé ïîëüçîâàòåëü è ãðóïïà èñïîëüçóþòñÿ. + + <note> + <para> + Îáû÷íî ýòî ïîëüçîâàòåëü <quote>nobody</quote> è ãðóïïà + <quote>nobody</quote>. Äëÿ ïîëüçîâàòåëåé OS X, ïîëüçîâàòåëü ïî óìîë÷àíèþ + - ýòî <quote>www</quote> è ãðóïïà - <quote>www</quote>. + Åñëè âû èñïîëüçóåòå Apache, âû ìîæåòå óçíàòü èñïîëüçóåìûå + èìÿ ïîëüçîâàòåëÿ è ãðóïïó èç ôàéëà <filename>httpd.conf</filename>. + </para> + </note> </para> <example> - <title>Óñòàíîâêà ïðàâ äîñòóïà ê ôàéëàì</title> + <title>Óñòàíîâêà ïðàâ äîñòóïà ê ôàéëàì è äèðåêòîðèÿì</title> <programlisting role="shell"> <![CDATA[ chown nobody:nobody /web/www.example.com/smarty/guestbook/templates_c/ @@ -377,26 +496,30 @@ </example> <note> - <title>Òåõíè÷åñêîå çàìå÷àíèå</title> + <title>Ïðèìå÷àíèå</title> <para> - chmod 770 äà¸ò äîñòàòî÷íî æåñòêóþ çàùèòó - ðàçðåøàåò òîëüêî ïîëüçîâàòåëþ - "nobody" è ãðóïïå "nobody" äîñòóï íà ÷òåíèå è çàïèñü â ýòè äèðåêòîðèè. + <literal>chmod 770</literal> äà¸ò äîñòàòî÷íî æåñòêóþ çàùèòó - + ðàçðåøàåò òîëüêî ïîëüçîâàòåëþ + <quote>nobody</quote> è ãðóïïå <quote>nobody</quote> äîñòóï + íà ÷òåíèå è çàïèñü â ýòè äèðåêòîðèè. Åñëè âû õîòèòå îòêðûòü äîñòóï íà ÷òåíèå äëÿ âñåõ (îáû÷íî äëÿ ñîáñòâåííîãî - óäîáñòâà ïðè ïðîñìîòðå ýòèõ ôàéëîâ), âû ìîæåòå èñïîëüçîâàòü çíà÷åíèå 775. + óäîáñòâà ïðè ïðîñìîòðå ýòèõ ôàéëîâ), âû ìîæåòå èñïîëüçîâàòü çíà÷åíèå + <literal>775</literal>. </para> </note> <para> - Íàì íåîáõîäèìî ñîçäàòü ôàéë 'index.tpl', êîòîðû áóäåò çàãðóæàòüñÿ Smarty. + Íàì íåîáõîäèìî ñîçäàòü ôàéë <filename>index.tpl</filename>, + êîòîðû áóäåò çàãðóæàòüñÿ Smarty. Îí áóäåò ðàñïîëîæåí â - <link linkend="variable.template.dir">$template_dir</link>. + <link linkend="variable.template.dir"> + <parameter>$template_dir</parameter></link>. </para> <example> - <title>Ðåäàêòèðîâàíèå /web/www.example.com/smarty/guestbook/templates/index.tpl</title> + <title>/web/www.example.com/guestbook/templates/index.tpl</title> <screen> <![CDATA[ - {* Smarty *} Ïðèâåò, {$name}! Äîáðî ïîæàëîâàòü â Smarty! @@ -407,7 +530,7 @@ <note> <title>Òåõíè÷åñêîå çàìå÷àíèå</title> <para> - {* Smarty *} - ýòî + <literal>{* Smarty *}</literal> - ýòî <link linkend="language.syntax.comments">êîììåíòàðèé</link> øàáëîíà. Îí íå ÿâëÿåòñÿ îáÿçàòåëüíûì, íî åãî ðàçìåùåíèå â íà÷àëå êàæäîãî øàáëîíà ÿâëÿåòñÿ õîðîøèì òîíîì. Ýòî ïîçâîëÿåò ïðîùå ðàçëè÷àòü ôàéëû íåçàâèñèìî @@ -417,28 +540,32 @@ </note> <para> - Òåïåðü äàâàéòå îòðåäàêòèðóåì 'index.php'. Ìû ñîçäàäèì ýêçåìïëÿð Smarty, + Òåïåðü äàâàéòå îòðåäàêòèðóåì <filename>index.php</filename>. + Ìû ñîçäàäèì ýêçåìïëÿð Smarty, <link linkend="api.assign">ïðèñâîèì</link> çíà÷åíèå ïåðåìåííîé øàáëîíà è - <link linkend="api.display">îòîáðàçèì</link> ôàéë 'index.tpl'. + <link linkend="api.display">îòîáðàçèì</link> ôàéë + <filename>index.tpl</filename>. </para> <example> - <title>Ðåäàêòèðîåíèå /web/www.example.com/docs/guestbook/index.php</title> + <title>/web/www.example.com/docs/guestbook/index.php</title> <programlisting role="php"> <![CDATA[ <?php -// çàãðóæàåì áèáëèîòåêó Smarty require_once(SMARTY_DIR . 'Smarty.class.php'); $smarty = new Smarty(); -$smarty->template_dir = '/web/www.example.com/smarty/guestbook/templates/'; -$smarty->compile_dir = '/web/www.example.com/smarty/guestbook/templates_c/'; -$smarty->config_dir = '/web/www.example.com/smarty/guestbook/configs/'; -$smarty->cache_dir = '/web/www.example.com/smarty/guestbook/cache/'; +$smarty->template_dir = '/web/www.example.com/guestbook/templates/'; +$smarty->compile_dir = '/web/www.example.com/guestbook/templates_c/'; +$smarty->config_dir = '/web/www.example.com/guestbook/configs/'; +$smarty->cache_dir = '/web/www.example.com/guestbook/cache/'; + +$smarty->assign('name', 'Êàòðóñüêà'); -$smarty->assign('name', 'Êðèñòèíà'); +//** ðàñêîììåíòèðóéòå ñëåäóþùóþ ñòðîêó äëÿ îòîáðàæåíèÿ îòëàäî÷íîé êîíñîëè +//$smarty->debugging = true; $smarty->display('index.tpl'); ?> @@ -447,11 +574,11 @@ </example> <note> - <title>Òåõíè÷åñêîå çàìå÷àíèå</title> + <title>Ïðèìå÷àíèå</title> <para>  íàøåì ïðèìåðå ìû óñòàíàâëèâàåì àáñîëþòíûå ïóòè êî âñåì äèðåêòîðèÿì Smarty. Åñëè <filename - class="directory">/web/www.example.com/smarty/guestbook/</filename> + class="directory">/web/www.example.com/guestbook/</filename> íàõîäèòñÿ â include_path âàøåãî PHP, òî ýòè íàñòðîéêè íå îáÿçàòåëüíû. Òåì íå ìåíåå, áîëåå ýôôåêòèâíûì è (èç îïûòà) ìåíåå ãëþêîîïàñíûì ÿâëÿåòñÿ èñïîëüçîâàíèå àáñîëþòíûõ ïóòåé. Ýòî ïðèäàñò óâåðåííîñòü â òîì, ÷òî Smarty @@ -462,7 +589,7 @@ <para> Òåïåðü ïåðåéäèòå ê ôàéëó <filename>index.php</filename> ïðè ïîìîùè âàøåãî âåá-áðàóçåðà. Âû äîëæíû óâèäåòü íàäïèñü - "Ïðèâåò, Êðèñòèíà! Äîáðî ïîæàëîâàòü â Smarty!" + <emphasis>"Ïðèâåò, Êàòðóñüêà! Äîáðî ïîæàëîâàòü â Smarty!"</emphasis> </para> <para> Âû çàêîí÷èëè áàçîâóþ óñòàíîâêó Smarty! @@ -477,18 +604,23 @@ ñïåðâà ïðî÷èòàéòå å¸. </para> <para> - Íåìíîãî áîëåå ãèáêèì ñïîñîáîì óñòàíîâêè Smarty ÿâëÿåòñÿ íàñëåäîâàíèå êëàññà + Íåìíîãî áîëåå ãèáêèì ñïîñîáîì óñòàíîâêè Smarty ÿâëÿåòñÿ + <ulink url="&url.php-manual;ref.classobj">íàñëåäîâàíèå êëàññà</ulink> è èíèöèàëèçàöèÿ âàøåãî ñîáñòâåííîãî îêðóæåíèÿ Smarty. Òàêèì îáðàçîì, âìåñòî òîãî, ÷òîáû ïîñòîÿííî óñòàíàâëèâàòü ïóòè äèðåêòîðèé, ïðèñâàèâàòü îäíè è òå æå ïåðåìåííûå è ò.ä., ìû ìîæåì âñ¸ ýòî ñäåëàòü â îäíîì ìåñòå. - Äàâàéòå ñîçäàäèì íîâóþ äèðåêòîðèþ "/php/includes/guestbook/",à â íåé - + </para> + <para> + Äàâàéòå ñîçäàäèì íîâóþ äèðåêòîðèþ <filename + class="directory">/php/includes/guestbook/</filename>,à â íåé - íîâûé ôàéë, êîòîðûé íàçîâåì <filename>setup.php</filename>. Ïî óñëîâèÿì - íàøåãî ïðèìåðà, "/php/includes" íàõîäèòñÿ â include_path. Óáåäèòåñü, ÷òîáû + íàøåãî ïðèìåðà, <filename class="directory">/php/includes</filename> + íàõîäèòñÿ â <literal>include_path</literal>. Óáåäèòåñü, ÷òîáû òî æå ñàìîå áûëî è ó âàñ, èëè èñïîëüçóåòé àáñîëþòíûå ïóòè. </para> <example> - <title>Ðåäàêòèðîâàíèå /php/includes/guestbook/setup.php</title> + <title>/php/includes/guestbook/setup.php</title> <programlisting role="php"> <![CDATA[ <?php @@ -511,10 +643,10 @@ $this->Smarty(); - $this->template_dir = '/web/www.example.com/smarty/guestbook/templates/'; - $this->compile_dir = '/web/www.example.com/smarty/guestbook/templates_c/'; - $this->config_dir = '/web/www.example.com/smarty/guestbook/configs/'; - $this->cache_dir = '/web/www.example.com/smarty/guestbook/cache/'; + $this->template_dir = '/web/www.example.com/guestbook/templates/'; + $this->compile_dir = '/web/www.example.com/guestbook/templates_c/'; + $this->config_dir = '/web/www.example.com/guestbook/configs/'; + $this->cache_dir = '/web/www.example.com/guestbook/cache/'; $this->caching = true; $this->assign('app_name', 'Guest Book'); @@ -527,18 +659,19 @@ </example> <para> - Òåïåðü äàâàéòå èçìåíèì index.php, ÷òîáû îí èñïîëüçîâàë setup.php: + Òåïåðü äàâàéòå èçìåíèì <filename>index.php</filename>, + ÷òîáû îí èñïîëüçîâàë <filename>setup.php</filename>: </para> <example> - <title>Ðåäàêòèðîâàíèå /web/www.example.com/docs/guestbook/index.php</title> + <title>/web/www.example.com/guestbook/htdocs/index.php</title> <programlisting role="php"> <![CDATA[ <?php require('guestbook/setup.php'); -$smarty = new Smarty_GuestBook; +$smarty = new Smarty_GuestBook(); $smarty->assign('name','Ned'); @@ -550,8 +683,8 @@ <para> Òåïåðü âû âèäèòå, ÷òî ñîçäàòü ýêçåìïëÿð Smarty äîâîëüíî ïðîñòî - íóæíî ëèøü - èñïîëüçîâàòü Smarty_GuestBook, êîòîðûé àâòîìàòè÷åñêè èíèöèàëèçèðóåò âñå - íàñòðîéêè äëÿ íàøåãî ïðèëîæåíèÿ. + èñïîëüçîâàòü <literal>Smarty_GuestBook</literal>, êîòîðûé àâòîìàòè÷åñêè + èíèöèàëèçèðóåò âñå íàñòðîéêè äëÿ íàøåãî ïðèëîæåíèÿ. </para> </sect1> http://cvs.php.net/viewvc.cgi/smarty/docs/ru/language-snippets.ent?r1=1.7&r2=1.8&diff_format=u Index: smarty/docs/ru/language-snippets.ent diff -u smarty/docs/ru/language-snippets.ent:1.7 smarty/docs/ru/language-snippets.ent:1.8 --- smarty/docs/ru/language-snippets.ent:1.7 Sun Aug 28 16:51:15 2005 +++ smarty/docs/ru/language-snippets.ent Wed Nov 22 14:56:35 2006 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="windows-1251"?> -<!-- $Revision: 1.7 $ --> -<!-- EN-Revision: 1.5 Maintainer: freespace Status: ready --> +<!-- $Revision: 1.8 $ --> +<!-- EN-Revision: 1.7 Maintainer: freespace Status: ready --> <!ENTITY note.parameter.merge '<note> <title>Òåõíè÷åñêîå çàìå÷àíèå</title> @@ -9,7 +9,7 @@ ïîýòîìó åñëè âû îáúåäèíÿåòå ìàññèâû ñ ÷èñëîâûìè èíäåêñàìè, òî îíè ìîãóò íàëîæèòüñÿ äðóã íà äðóãà èëè ïðèâåñòè ê íåïîñëåäîâàòåëüíîìó ïîðÿäêó êëþ÷åé. Ðåçóëüòàò îòëè÷àåòñÿ îò äåéñòâèÿ ôóíêöèè PHP - <ulink url="&url.php-manual;array_merge">array_merge()</ulink>, + <ulink url="&url.php-manual;array_merge"><varname>array_merge()</varname></ulink>, êîòîðàÿ çàíîâî íóìåðóåò ýëåìåíòû â ìàññèâå ñ ÷èñëîâîìè êëþ÷àìè. </para> </note>'> @@ -23,13 +23,38 @@ Äðóãîå ïðèìåíåíèå <parameter>$compile_id</parameter> ìîæíî íàéòè, åñëè âû èñïîëüçóåòå íåñêîëüêî - <link linkend="variable.template.dir">$template_dir</link>, + <link linkend="variable.template.dir"><parameter>$template_dir</parameter></link>, íî òîëüêî îäíó - <link linkend="variable.compile.dir">$compile_dir</link>. + <link linkend="variable.compile.dir"><parameter>$compile_dir</parameter></link>. Óñòàíàâëèâàéòå ñâîé <parameter>compile_id</parameter> äëÿ êàæäîé - <link linkend="variable.template.dir">$template_dir</link>, + <link linkend="variable.template.dir"><parameter>$template_dir</parameter></link>, èíà÷å øàáëîíû ñ îäèíàêîâûìè èìåíàìè áóäóò ñîõðàíÿòüñÿ ïîâåðõ äðóã äðóãà. Òàêæå âû ìîæåòå îäèí ðàç óêàçàòü - <link linkend="variable.compile.id">$compile_id</link>, + <link linkend="variable.compile.id"><parameter>$compile_id</parameter></link>, âìåñòî òîãî, ÷òîáû êàæäûé ðàç ïåðåäàâàòü åãî ïðè âûçîâå ýòîé ôóíêöèè. </para>'> + +<!ENTITY api.register.snippet '<para> + Callback-ôóíêöèÿ PHP ìîæåò áûòü: + <itemizedlist> + <listitem> + <para> + Ëèáî ñòðîêîé, ñîäåðæàùåé èìÿ ôóíêöèè. + </para> + </listitem> + <listitem> + <para> + Ëèáî ìàññèâîì âèäà <literal>array(&$object, $method)</literal>, + ãäå <literal>&$object</literal> - ññûëêà íà îáúåê, à + <literal>$method</literal> - ñòðîêà, ñîäåðæàùàÿ èìÿ ìåòîäà. + </para> + </listitem> + <listitem> + <para> + Ëèáî ìàññèâîì âèäà <literal>array($class, $method)</literal>, + ãäå <literal>$class</literal> - ñòðîêà, ñîäåðæàùàÿ èìÿ êëàññà, à + <literal>$method</literal> - ñòðîêà, ñîäåðæàùàÿ èìÿ ìåòîäà ýòîãî êëàññà. + </para> + </listitem> + </itemizedlist> +</para>'>