cvs: smarty /docs/ru getting-started.xml

"George Miroshnikov" <[email protected]>
Newsgroups gmane.comp.php.cvs.smarty
Message-ID <cvsfreespace1095029176@cvsserver>
freespace		Sun Sep 12 18:46:16 2004 EDT

  Modified files:              
    /smarty/docs/ru	getting-started.xml 
  Log:
  Finished translation and syncronized with English revision.

-- 
Smarty CVS Mailing List (http://cvs.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
freespace-20040912184616.txt (text/plain, 44.2 KB)
http://cvs.php.net/diff.php/smarty/docs/ru/getting-started.xml?r1=1.6&r2=1.7&ty=u
Index: smarty/docs/ru/getting-started.xml
diff -u smarty/docs/ru/getting-started.xml:1.6 smarty/docs/ru/getting-started.xml:1.7
--- smarty/docs/ru/getting-started.xml:1.6	Mon Jul 19 09:11:22 2004
+++ smarty/docs/ru/getting-started.xml	Sun Sep 12 18:46:16 2004
@@ -1,470 +1,519 @@
-<?xml version="1.0" encoding="windows-1251"?>
-<!-- $Revision: 1.6 $ -->
-<!-- EN-Revision: 1.4 Maintainer: tony2001 Status: ready -->
-<part id="getting.started">
- <title>Ïðèñòóïàÿ ê ðàáîòå</title>
-
- <chapter id="what.is.smarty">
-   <title>×òî òàêîå Smarty?</title>
-   <para>
-    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:
-   </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> è 
-      <link linkend="language.modifiers">ìîäèôèêàòîðû</link>, ÷òî äåëàåò ÿçûê 
-      øàáëîíîâ ÷ðåçâû÷àéíî ðàñøèðÿåìûì
-     </para>
-    </listitem>
-    <listitem>
-     <para>
-      Íàñòðàèâàåìûå ðàçäåëèòåëè òýãîâ øàáëîíà, òî åñòü âû ìîæåòå
-      èñïîëüçîâàòü {}, {{}}, &lt;!--{}--&gt;, è ò.ä..
-     </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>
-
-  <sect1 id="installation.requirements">
-   <title>Òðåáîâàíèÿ</title>
-   <para>
-    Äëÿ óñòàíîâêè è ðàáîòû Smarty íåîáõîäèì âåá-ñåðâåð ñ óñòàíîâëåííûì PHP âåðñèè 4.0.6 èëè âûøå.
-   </para>
-  </sect1>
-  <sect1 id="installing.smarty.basic">
-    <title>Áàçîâàÿ èíñòàëÿöèÿ</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 (âñå ôàéëû!)
-/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>
-
-    <example>
-     <title>Óêàæèòå àáñîëþòíûé ïóòü ê äèðåêòîðèè Smarty</title>
-     <screen>
-<![CDATA[
-require('/usr/local/lib/php/Smarty/Smarty.class.php');
-$smarty = new Smarty;
-]]>
-     </screen>
-    </example>
-
-   	<example>
-     <title>Äîáàâüòå äèðåêòîðèþ Smarty ê include_path</title>
-     <screen>
-<![CDATA[
-// Îòðåäàêòèðóéòå âàø php.ini ôàéë, äîáàâüòå ïóòü ê Smarty 
-// ê include_path è ïåðåçàïóñòèòå âåá ñåðâåð.
-// Ñëåäóþùèé êîä äîëæåí ðàáîòàòü áåç îøèáîê:
-require('Smarty.class.php');
-$smarty = new Smarty;
-]]>
-     </screen>
-   	</example>
-
-	   <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>
-     Óáåäèòåñü, ÷òî âû çíàåòå çíà÷åíèå DOCUMENT_ROOT âàøåãî âåá-ñåðâåðà. 
-     Â íàøåì ïðèìåðå ýòî "/web/www.mydomain.com/docs/".
-     Òàê êàê ê ôàéëàì Smarty áóäóò îáðàùàòüñÿ òîëüêî ñêðèïòû, òî âàì
-     ðåêîìåíäóåòñÿ âûíåñòè äèðåêòîðèè Smarty <emphasis>çà ïðåäåëû</emphasis> 
-     DOCUMENT_ROOT, ÷òîáû èçáåæàòü ëèøíåãî áåñïîêîéñòâà.
-    </para>
-    <para>
-     Â íàøåì ïðèìåðå ìû áóäåì óñòàíàâëèâàòü Smarty äëÿ íåêîòîðîé ãîñòåâîé
-     êíèãè. Ïðèëîæåíèå áûëî âûáðàíî òîëüêî äëÿ òîãî, ÷òîáû èñïîëüçîâàòü åãî
-     èìÿ â èìåíàõ äèðåêòîðèé. Âû ìîæåòå èñïîëüçîâàòü òå æå íàñòðîéêè ñ ëþáûì
-     äðóãèì ïðèëîæåíèåì, ïðîñòî ìåíÿÿ "guestbook" íà èìÿ âàøåãî ïðèëîæåíèÿ.
-     Ìû æå âûáðàëè ïóòü ê äèðåêòîðèÿì Smarty òàêîé:
-     "/web/www.mydomain.com/smarty/guestbook/".
-    </para>
-    
-    <!-- TO BE TRANSLATED ASAP! -->
-
-    <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
-/usr/local/lib/php/Smarty/debug.tpl
-/usr/local/lib/php/Smarty/plugins/*.php
-
-/web/www.mydomain.com/smarty/guestbook/templates/
-/web/www.mydomain.com/smarty/guestbook/templates_c/
-/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>
-     <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>
-     <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>
-     <title>Editing /web/www.mydomain.com/docs/guestbook/index.php</title>
-     <screen>
-<![CDATA[
-// load Smarty library
-require('Smarty.class.php');
-
-$smarty = new Smarty;
-
-$smarty->template_dir = '/web/www.mydomain.com/smarty/guestbook/templates/';
-$smarty->compile_dir = '/web/www.mydomain.com/smarty/guestbook/templates_c/';
-$smarty->config_dir = '/web/www.mydomain.com/smarty/guestbook/configs/';
-$smarty->cache_dir = '/web/www.mydomain.com/smarty/guestbook/cache/';
-
-$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>
-   </sect1>
-   <sect1 id="installing.smarty.extended">
-    <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>
-<![CDATA[
-// load Smarty library
-require('Smarty.class.php');
-
-// The setup.php file is a good place to load
-// required application library files, and you
-// can do that right here. An example:
-// require('guestbook/guestbook.lib.php');
-
-class Smarty_GuestBook extends Smarty {
-
-   function Smarty_GuestBook() {
-   
-   		// Class Constructor. These automatically get set with each new instance.
-
-		$this->Smarty();
-
-		$this->template_dir = '/web/www.mydomain.com/smarty/guestbook/templates/';
-		$this->compile_dir = '/web/www.mydomain.com/smarty/guestbook/templates_c/';
-		$this->config_dir = '/web/www.mydomain.com/smarty/guestbook/configs/';
-		$this->cache_dir = '/web/www.mydomain.com/smarty/guestbook/cache/'; 
-		
-		$this->caching = true;
-		$this->assign('app_name','Guest Book');
-   }
-
-}
-]]>
-    </screen>
-   </example>
-   <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>
-   </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>
-  </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
--->
+<?xml version="1.0" encoding="windows-1251"?>
+<!-- $Revision: 1.7 $ -->
+<!-- EN-Revision: 1.5 Maintainer: freespace Status: ready -->
+<part id="getting.started">
+ <title>Ïðèñòóïàÿ ê ðàáîòå</title>
+
+ <chapter id="what.is.smarty">
+   <title>×òî òàêîå Smarty?</title>
+   <para>
+    Smarty - ýòî êîìïèëèðóþùèé îáðàáîò÷èê øàáëîíîâ äëÿ PHP è íà PHP.
+    Ãîâîðÿ áîëåå ÷åòêî, îí ïðåäîñòàâëÿåò îäèí èç èíñòðóìåíòîâ, êîòîðûå
+    ïîçâîëÿåò äîáèòüñÿ îòäåëåíèÿ ïðèêëàäíîé ëîãèêè è äàííûõ îò
+    ïðåäñòàâëåíèÿ. Ýòî î÷åíü óäîáíî â ñèòóàöèÿõ, êîãäà ïðîãðàììèñò è
+    âåðñòàëüùèê øàáëîíà - ðàçëè÷íûå ëþäè. Íàïðèìåð, ñêàæåì, âû ñîçäàåòå
+    ñòðàíèöó, êîòîðàÿ ïîêàçûâàåò ãàçåòíóþ ñòàòüþ. Íàçâàíèå ñòàòüè, àâòîð
+    è ñàìà ñòàòüÿ - ýëåìåíòû, êîòîðûå íå ñîäåðæàò íèêàêîé èíôîðìàöèè î òîì, êàê îíè
+    áóäóò ïðåäñòàâëåíû. Èõ ïåðåäàþò â Smarty èç ïðèëîæåíèÿ, à âåðñòàëüùèê
+    øàáëîíà ðåäàêòèðóåò øàáëîíû è èñïîëüçóåò êîìáèíàöèþ òýãîâ HTML è
+    òýãîâ øàáëîíà, ÷òîáû îòôîðìàòèðîâàòü ïðåäñòàâëåíèå ýòèõ ýëåìåíòîâ
+    (òàáëèöû HTML, ôîíîâûå öâåòà, ðàçìåðû øðèôòà, ñòèëÿ è ò.ä.). Îäíàæäû
+    ïðîãðàììèñò çàõî÷åò èçìåíèòü ñïîñîá õðàíåíèÿ ñòàòüè (ñäåëàòü èçìåíåíèÿ
+    â ëîãèêå ïðèëîæåíèÿ). Ýòî èçìåíåíèå íå âûçîâåò èçìåíåíèé â øàáëîíàõ.
+    Ñîäåðæàíèå áóäåò âñå åùå ïåðåäàâàòüñÿ â øàáëîí òàêèì æå ñàìûì ñïîñîáîì.
+    Àíàëîãè÷íî, åñëè âåðñòàëüùèê çàõî÷åò ïîëíîñòüþ ïåðåïðîåêòèðîâàòü
+    øàáëîíû, ýòî íå ïîòðåáóåò íèêàêèõ èçìåíåíèé â ïðèêëàäíîé ëîãèêå.
+   </para>
+   <para>
+    Îäíî èç ïðåäíàçíà÷åíèé Smarty - ýòî îòäåëåíèå ëîãèêè ïðèëîæåíèÿ îò
+    ïðåäñòàâëåíèÿ. Êîíå÷íî æå, øàáëîíû ìîãóò ñîäåðæàòü â ñåáå ëîãèêó, íî
+    ëèøü ïðè óñëîâèè, ÷òî ýòà ëîãèêà íåîáõîäèìà äëÿ ïðàâèëüíîãî ïðåäñòàâëåíèÿ
+    äàííûõ. Òàêèå çàäà÷è, êàê ïîäêëþ÷åíèå äðóãèõ øàáëîíîâ, ÷åðåäóþùàÿñÿ îêðàñêà
+    ñòðî÷åê â òàáëèöå, ïðèâåäåíèå áóêâ ê âåðõíåìó ðåãèñòðó, öèêëè÷åñêèé ïðîõîä
+    ïî ìàññèâó äëÿ åãî îòîáðàæåíèÿ è ò.ä. - âñ¸ ýòî ÿâëÿåòñÿ ïðèìåðîì ëîãèêè
+    ïðåäñòàâëåíèÿ. Íå ñëåäóåò äóìàòü, ÷òî Smarty çàñòàâëÿåò âàñ ðàçäåëÿòü ëîãèêó
+    ïðèëîæåíèÿ è ïðåäñòàâëåíèå. 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:
+   </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> è
+      <link linkend="language.modifiers">ìîäèôèêàòîðû</link>, ÷òî äåëàåò ÿçûê
+      øàáëîíîâ ÷ðåçâû÷àéíî ðàñøèðÿåìûì.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Íàñòðàèâàåìûå ðàçäåëèòåëè òýãîâ øàáëîíà, òî åñòü âû ìîæåòå
+      èñïîëüçîâàòü {}, {{}}, &lt;!--{}--&gt;, è ò.ä.
+     </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>
+
+  <sect1 id="installation.requirements">
+   <title>Òðåáîâàíèÿ</title>
+   <para>
+    Äëÿ óñòàíîâêè è ðàáîòû Smarty íåîáõîäèì âåá-ñåðâåð ñ óñòàíîâëåííûì PHP âåðñèè 4.0.6 èëè âûøå.
+   </para>
+  </sect1>
+  <sect1 id="installing.smarty.basic">
+    <title>Áàçîâàÿ óñòàíîâêà</title>
+    <para>
+     Ñêîïèðóéòå ôàéëû Smarty, êîòîðûå íàõîäÿòñÿ â äèðåêòîðèè /libs/ äèñòðèáóòèâà.
+     Ìåíÿòü ýòè ôàéëû ÍÅ ÑËÅÄÓÅÒ. Îíè äîëæíû èñïîëüçîâàòüñÿ âñåìè ïðèëîæåíèÿìè è èçìåíÿòüñÿ
+     òîëüêî ïðè îáíîâëåíèè Smarty äî íîâîé âåðñèè.
+    </para>
+    <example>
+     <title>Ôàéëû áèáëèîòåêè Smarty</title>
+     <screen>
+<![CDATA[
+Smarty.class.php
+Smarty_Compiler.class.php
+Config_File.class.php
+debug.tpl
+/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>
+     <programlisting role="php">
+<![CDATA[
+<?php
+require('Smarty.class.php');
+$smarty = new Smarty;
+?>
+]]>
+     </programlisting>
+    </example>
+
+    <para>
+     Ïîïðîáóéòå âûïîëíèòü âûøåóêàçàííûé êîä. Åñëè Âû ïîëó÷àåòå îøèáêó î òîì,
+     ÷òî <emphasis>Smarty.class.php</emphasis> íå íàéäåí, ïîïðîáóéòå ñëåäóþùèå
+     âàðèàíòû:
+    </para>
+
+    <example>
+     <title>Óêàæèòå àáñîëþòíûé ïóòü ê äèðåêòîðèè Smarty</title>
+     <programlisting role="php">
+<![CDATA[
+<?php
+require('/usr/local/lib/php/Smarty/Smarty.class.php');
+$smarty = new Smarty;
+?>
+]]>
+     </programlisting>
+    </example>
+
+   	<example>
+     <title>Äîáàâüòå äèðåêòîðèþ Smarty ê include_path</title>
+     <programlisting role="php">
+<![CDATA[
+<?php
+// Îòðåäàêòèðóéòå âàø php.ini ôàéë, äîáàâüòå ïóòü ê Smarty
+// ê include_path è ïåðåçàïóñòèòå âåá ñåðâåð.
+// Ñëåäóþùèé êîä äîëæåí ðàáîòàòü áåç îøèáîê:
+require('Smarty.class.php');
+$smarty = new Smarty;
+?>
+]]>
+     </programlisting>
+    </example>
+
+	<example>
+     <title>Óñòàíîâèòå çíà÷åíèå êîíñòàíòû SMARTY_DIR âðó÷íóþ</title>
+     <programlisting role="php">
+<![CDATA[
+<?php
+define('SMARTY_DIR','/usr/local/lib/php/Smarty/');
+require(SMARTY_DIR.'Smarty.class.php');
+$smarty = new Smarty;
+?>
+]]>
+     </programlisting>
+    </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>
+    <para>
+     Â íàøåì ïðèìåðå ìû áóäåì óñòàíàâëèâàòü Smarty äëÿ íåêîòîðîé ãîñòåâîé
+     êíèãè. Ïðèëîæåíèå áûëî âûáðàíî òîëüêî äëÿ òîãî, ÷òîáû èñïîëüçîâàòü åãî
+     èìÿ â èìåíàõ äèðåêòîðèé. Âû ìîæåòå èñïîëüçîâàòü òå æå íàñòðîéêè ñ ëþáûì
+     äðóãèì ïðèëîæåíèåì, ïðîñòî ìåíÿÿ "guestbook" íà èìÿ âàøåãî ïðèëîæåíèÿ.
+     Ìû æå ðàçìåñòèì íàøè äèðåêòîðèè Smarty òóò:
+     "/web/www.mydomain.com/smarty/guestbook/".
+    </para>
+   <para>
+    Âàì ïîíàäîáèòñÿ êàê ìèíèìóì îäèí ôàéë â êîðíå âåá-äèðåêòîðèè - ýòî ñêðèïò,
+    ê êîòîðîìó îáðàùàåòñÿ âåá-áðàóçåð. Ìû íàçîâ¸ì íàø ñêðèïò "index.php"
+    è ïîìåñòèì åãî â ïîääèðåêòîðèþ "/guestbook" êîðíåâîé âåá-äèðåêòîðèè.
+   </para>
+
+
+   <note>
+    <title>Òåõíè÷åñêîå çàìå÷àíèå</title>
+    <para>
+     Áûâàåò óäîáíî íàñòðîèòü âåá-ñåðâåð òàê, ÷òîáû "index.php" ðàñöåíèâàëñÿ
+     êàê èíäåêñíûé ôàéë äèðåêîòðèè ïî óìîë÷àíèþ, ÷òîáû ïðè çàïðîñå ñòðàíèöû
+     "http://www.mydomain.com/guestbook/", âûçûâàëñÿ ñêðèïò index.php áåç
+     "index.php" â êîíöå URL'à. Â âåá-ñåðâåðå Apache âû ìîæåòå íàñòðîèòü ýòî äîáàâèâ
+     "index.php" â êîíåö äèðåêòèâû DirectoryIndex (çàïèñè ðàçäåëÿþòñÿ ïðîáåëàìè).
+    </para>
+   </note>
+
+   <para>
+    Äàâàéòå âçãëÿíèì íà òåêóùóþ ôàéëîâóþ ñòðóêòóðó:
+   </para>
+
+   <example>
+    <title>Ôàéëîâàÿ ñòðóêòóðà ïðèìåðà</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
+/usr/local/lib/php/Smarty/debug.tpl
+/usr/local/lib/php/Smarty/core/*.php
+/usr/local/lib/php/Smarty/plugins/*.php
+
+/web/www.mydomain.com/smarty/guestbook/templates/
+/web/www.mydomain.com/smarty/guestbook/templates_c/
+/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 ïîíàäîáÿòñÿ ïðàâà íà çàïèñü â <emphasis>$compile_dir</emphasis> è
+    <emphasis>$cache_dir</emphasis>, òàê ÷òî óáåäèòåñü, ÷òî ó âåá-ñåðâåðà åñòü ýòè ïðàâà.
+    Îáû÷íî îí çàïóùåí ïîä èìåíåì ïîëüçîâàòåëÿ "nobody" ãðóïïû "nobody". Äëÿ ïîëüçîâàòåëåé OS X
+    ïîëüçîâàòåëåì ïî óìîë÷àíèþ ÿâëÿåòñÿ "www" ãðóïïû "www". Åñëè âû èñïîëüçóåòå Apache, âû ìîæåòå
+    çàãëÿíóòü â âàø ôàéë httpd.conf (êîòîðûé îáû÷íî ðàñïîëîæåí â "/usr/local/apache/conf/") ÷òîáû
+    óçíàòü, êàêèå èñïîëüçóþòñÿ èìÿ ïîëüçîâàòåëÿ è ãðóïïà.
+   </para>
+
+   <example>
+    <title>Óñòàíîâêà ïðàâ äîñòóïà ê ôàéëàì</title>
+    <programlisting role="shell">
+<![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/
+]]>
+    </programlisting>
+   </example>
+
+   <note>
+    <title>Òåõíè÷åñêîå çàìå÷àíèå</title>
+    <para>
+     chmod 770 äà¸ò äîñòàòî÷íî æåñòêóþ çàùèòó - òîëüêî ïîëüçîâàòåëü "nobody" è ãðóïïà
+     "nobody" èìåþò äîñòóï íà çàïèñü è ÷òåíèå ê äèðåêòîðèÿì. Åñëè âû õîòèòå îòêðûòü äîñòóï íà ÷òåíèå
+     äëÿ âñåõ (îáû÷íî äëÿ ñîáñòâåííîãî óäîáñòâà ïðè ïðîñìîòðå ýòèõ ôàéëîâ),
+     âû ìîæåòå èñïîëüçîâàòü ìàñêó 775.
+    </para>
+   </note>
+
+   <para>
+    Íàì íåîáõîäèìî ñîçäàòü ôàéë index.tpl, êîòîðû áóäåò çàãðóæàòüñÿ Smarty.
+    Îí áóäåò ðàñïîëîæåí â âàøåé $template_dir.
+   </para>
+
+   <example>
+    <title>Ðåäàêòèðîâàíèå /web/www.mydomain.com/smarty/guestbook/templates/index.tpl</title>
+    <screen>
+<![CDATA[
+
+{* Smarty *}
+
+Hello, {$name}!
+]]>
+    </screen>
+   </example>
+
+   <note>
+    <title>Òåõíè÷åñêîå çàìå÷àíèå</title>
+    <para>
+     {* Smarty *} - ýòî êîììåíòàðèé øàáëîíà. Îí íå ÿâëÿåòñÿ îáÿçàòåëüíûì, íî
+     åãî ðàçìåùåíèå â íà÷àëå êàæäîãî øàáëîíà ÿâëÿåòñÿ õîðîøèì òîíîì.
+     Ýòî ïîçâîëÿåò ïðîùå ðàçëè÷àòü ôàéëû íåçàâèñèìî îò èõ ðàñøèðåíèÿ.
+     Ê ïðèìåðó, òåêñòîâûå ðåäàêòîðû ìîãóò óçíàâàòü ôàéë è âêëþ÷àòü îñîáåííóþ
+     ïîäñâåòêó ñèíòàêñèñà.
+    </para>
+   </note>
+
+   <para>
+    Òåïåðü äàâàéòå îòðåäàêòèðóåì index.php. Ìû ñîçäàäèì ýêçåìïëÿð Smarty, ïðèñâîèì
+    çíà÷åíèå ïåðåìåííîé øàáëîíà è îòîáðàçèì ôàéë index.tpl.  îêðóæåíèè íàøåãî ïðèìåðà
+    ìû ïîìåñòèëè "/usr/local/lib/php/Smarty" â include_path. Óáåäèòåñü, ÷òî âû ñäåëàëè
+    òî æå ñàìîå èëè èñïîëüçóåòå àáñîëþòíûå ïóòè.
+   </para>
+
+   <example>
+    <title>Ðåäàêòèðîåíèå /web/www.mydomain.com/docs/guestbook/index.php</title>
+    <programlisting role="php">
+<![CDATA[
+<?php
+
+// çàãðóæàåì áèáëèîòåêó Smarty
+require('Smarty.class.php');
+
+$smarty = new Smarty;
+
+$smarty->template_dir = '/web/www.mydomain.com/smarty/guestbook/templates/';
+$smarty->compile_dir = '/web/www.mydomain.com/smarty/guestbook/templates_c/';
+$smarty->config_dir = '/web/www.mydomain.com/smarty/guestbook/configs/';
+$smarty->cache_dir = '/web/www.mydomain.com/smarty/guestbook/cache/';
+
+$smarty->assign('name','Ned');
+
+$smarty->display('index.tpl');
+?>
+]]>
+    </programlisting>
+   </example>
+
+   <note>
+    <title>Òåõíè÷åñêîå çàìå÷àíèå</title>
+    <para>
+     Â íàøåì ïðèìåðå, ìû óñòàíàâëèâàåì àáñîëþòíûå ïóòè êî âñåì äèðåêòîðèÿì
+     Smarty. Åñëè '/web/www.mydomain.com/smarty/guestbook/' íàõîäèòñÿ â
+     include_path âàøåãî PHP, òî ýòè íàñòðîéêè íå îáÿçàòåëüíû. Òåì íå ìåíåå,
+     áîëåå ýôôåêòèâíûì è (èç îïûòà) ìåíåå ãëþêîîïàñíûì ÿâëÿåòñÿ èñïîëüçîâàíèå
+     àáñîëþòíûõ ïóòåé. Ýòî äàñò âàì óâåðåííîñòü â òîì, ÷òî Smarty ïîëó÷àåò ôàéëû
+     èç òåõ äèðåêòîðèé, èç êîòîðûõ âû õîòèòå.
+    </para>
+   </note>
+
+   <para>
+    Òåïåðü çàãðóçèòå ôàéë index.php èç âàøåãî âåá-áðàóçåðà.
+    Âû äîëæíû óâèäåòü íàäïèñü "Hello, Ned!"
+   </para>
+   <para>
+    Âû çàêîí÷èëè áàçîâóþ óñòàíîâêó Smarty!
+   </para>
+  </sect1>
+  <sect1 id="installing.smarty.extended">
+   <title>Ðàñøèðåííàÿ óñòàíîâêà</title>
+
+   <para>
+    Ýòà ãëàâà ÿâëÿåòñÿ ïðîäîëæåíèåì <link
+    linkend="installing.smarty.basic">áàçîâîé óñòàíîâêè</link>; ïîæàëóéñòà,
+    ñïåðâà ïðî÷èòàéòå å¸.
+   </para>
+   <para>
+    Íåìíîãî áîëåå ãèáêèì ñïîñîáîì óñòàíîâêè Smarty ÿâëÿåòñÿ íàñëåäîâàíèå êëàññà è
+    èíèöèàëèçàöèÿ âàøåãî ñîáñòâåííîãî îêðóæåíèÿ Smarty. Òàêèì îáðàçîì, âìåñòî òîãî, ÷òîáû
+    ïîñòîÿííî óñòàíàâëèâàòü ïóòè äèðåêòîðèé, ïðèñâàèâàòü îäíè è òå æå ïåðåìåííûå è ò.ä.
+    ìû ìîæåì âñ¸ ýòî ñäåëàòü â îäíîì ìåñòå.
+    Äàâàéòå ñîçäàäèì íîâóþ äèðåêòîðèþ "/php/includes/guestbook/", à â íåé - íîâûé ôàéë,
+    êîòîðûé íàçîâåì "setup.php". Â îêðóæåíèè èç íàøåãî ïðèìåðà "/php/includes" íàõîäèòñÿ
+    â include_path. Ïðîâåðüòå, ÷òî áû òî æå ñàìîå áûëî è ó âàñ, èëè èñïîëüçóåòé àáñîëþòíûå ïóòè.
+   </para>
+
+   <example>
+    <title>Ðåäàêòèðîâàíèå /php/includes/guestbook/setup.php</title>
+    <programlisting role="php">
+<![CDATA[
+<?php
+
+// çàãðóæàåì áèáëèîòåêó Smarty
+require('Smarty.class.php');
+
+// Ôàéë setup.php - ýòî õîðîøåå ìåñòî äëÿ
+// ïîäêëþ÷åíèÿ áèáëèîòå÷íûõ ôàéëîâ âàøåãî ïðèëîæåíèÿ, âû ìîæåòå
+// ñäåëàòü ýòî ïðÿìî çäåñü. Ïðèìåð:
+// require('guestbook/guestbook.lib.php');
+
+class Smarty_GuestBook extends Smarty {
+
+   function Smarty_GuestBook()
+   {
+
+        // Êîíñòðóêòîð êëàññà. Îí àâòîìàòè÷åñêè âûçûâàåòñÿ ïðè ñîçäàíèè íîâîãî ýêçåìïëÿðà.
+
+        $this->Smarty();
+
+        $this->template_dir = '/web/www.mydomain.com/smarty/guestbook/templates/';
+        $this->compile_dir = '/web/www.mydomain.com/smarty/guestbook/templates_c/';
+        $this->config_dir = '/web/www.mydomain.com/smarty/guestbook/configs/';
+        $this->cache_dir = '/web/www.mydomain.com/smarty/guestbook/cache/';
+
+        $this->caching = true;
+        $this->assign('app_name','Guest Book');
+   }
+
+}
+?>
+]]>
+    </programlisting>
+   </example>
+
+  <para>
+   Òåïåðü äàâàéòå èçìåíèì index.php äëÿ èñïîëüçîâàíèÿ setup.php:
+  </para>
+
+  <example>
+   <title>Ðåäàêòèðîâàíèå /web/www.mydomain.com/docs/guestbook/index.php</title>
+   <programlisting role="php">
+<![CDATA[
+<?php
+
+require('guestbook/setup.php');
+
+$smarty = new Smarty_GuestBook;
+
+$smarty->assign('name','Ned');
+
+$smarty->display('index.tpl');
+?>
+]]>
+   </programlisting>
+  </example>
+
+  <para>
+   Òåïåðü âû âèäèòå, ÷òî ñîçäàòü ýêçåìïëÿð Smarty äîâîëüíî ïðîñòî - íóæíî ëèøü
+   èñïîëüçîâàòü Smarty_GuestBook, êîòîðûé àâòîìàòè÷åñêè èíèöèàëèçèðóåò âñå íàñòðîéêè
+   äëÿ íàøåãî ïðèëîæåíèÿ.
+  </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
+-->
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.