svn: /phpdoc/ru/trunk/reference/yaf/ yaf-controller-abstract.xml yaf-loader.xml

[email protected] (Sergey Panteleev)
Newsgroups php.doc.ru
Message-ID <[email protected]>
sergey                                   Thu, 19 Mar 2020 06:28:29 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=349493

Log:
docs(ru): New translation

Changed paths:
    A   phpdoc/ru/trunk/reference/yaf/yaf-controller-abstract.xml
    A   phpdoc/ru/trunk/reference/yaf/yaf-loader.xml
svn-diffs-349493.txt (text/x-diff, 20.7 KB)
Added: phpdoc/ru/trunk/reference/yaf/yaf-controller-abstract.xml
===================================================================
--- phpdoc/ru/trunk/reference/yaf/yaf-controller-abstract.xml	                        (rev 0)
+++ phpdoc/ru/trunk/reference/yaf/yaf-controller-abstract.xml	2020-03-19 06:28:29 UTC (rev 349493)
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Revision$ -->
+<!-- EN-Revision: 329534 Maintainer: sergey Status: ready -->
+<!-- Reviewed: no -->
+
+<phpdoc:classref xml:id="class.yaf-controller-abstract" xmlns:phpdoc="http://php.net/ns/phpdoc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
+
+ <title>Класс Yaf_Controller_Abstract</title>
+ <titleabbrev>Yaf_Controller_Abstract</titleabbrev>
+
+ <partintro>
+
+  <!-- {{{ Yaf_Controller_Abstract intro -->
+  <section xml:id="yaf-controller-abstract.intro">
+   &reftitle.intro;
+   <para>
+    <classname>Yaf_Controller_Abstract</classname> это сердце системы Yaf.
+    MVC расшифровывается как Model-View-Controller и представляет собой шаблон проектирования,
+    предназначенный для отделения логики приложения от логики отображения
+   </para>
+   <para>
+    Каждый пользовательский контроллер должен наследовать
+    <classname>Yaf_Controller_Abstract</classname>.
+   </para>
+   <para>
+    Вы обнаружите, что не можете определить функцию __construct для своего пользовательского
+    контроллера, поэтому <classname>Yaf_Controller_Abstract</classname> предоставляет
+   </para>
+   <para>
+    Если вы определили метод init() в своем пользовательском контроллере, он будет
+    вызываться до тех пор, пока будет создан экземпляр контроллера.
+   </para>
+   <para>
+    У действия при поступлении запроса могут быть аргументы. Если в параметрах запроса есть
+    одна и та же переменная имени
+    (<methodname>Yaf_Request_Abstract::getParam</methodname>) после перенаправления,
+    Yaf передаст их методу действия (<methodname>Yaf_Action_Abstract::execute</methodname>).
+    <note>
+     <para>
+      Аргументы извлекаются напрямую без фильтрации, перед использованием
+      их следует тщательно обработать.
+     </para>
+    </note>
+   </para>
+  </section>
+  <!-- }}} -->
+
+  <section xml:id="yaf-controller-abstract.synopsis">
+   &reftitle.classsynopsis;
+
+   <!-- {{{ Synopsis -->
+   <classsynopsis>
+    <ooclass><classname>Yaf_Controller_Abstract</classname></ooclass>
+
+    <!-- {{{ Class synopsis -->
+    <classsynopsisinfo>
+     <ooclass>
+      <modifier>abstract</modifier>
+      <classname>Yaf_Controller_Abstract</classname>
+     </ooclass>
+    </classsynopsisinfo>
+    <!-- }}} -->
+    <classsynopsisinfo role="comment">&Properties;</classsynopsisinfo>
+    <fieldsynopsis>
+     <modifier>public</modifier>
+     <varname linkend="yaf-controller-abstract.props.actions">actions</varname>
+    </fieldsynopsis>
+    <fieldsynopsis>
+     <modifier>protected</modifier>
+     <varname linkend="yaf-controller-abstract.props.module">_module</varname>
+    </fieldsynopsis>
+    <fieldsynopsis>
+     <modifier>protected</modifier>
+     <varname linkend="yaf-controller-abstract.props.name">_name</varname>
+    </fieldsynopsis>
+    <fieldsynopsis>
+     <modifier>protected</modifier>
+     <varname linkend="yaf-controller-abstract.props.request">_request</varname>
+    </fieldsynopsis>
+    <fieldsynopsis>
+     <modifier>protected</modifier>
+     <varname linkend="yaf-controller-abstract.props.response">_response</varname>
+    </fieldsynopsis>
+    <fieldsynopsis>
+     <modifier>protected</modifier>
+     <varname linkend="yaf-controller-abstract.props.invoke-args">_invoke_args</varname>
+    </fieldsynopsis>
+    <fieldsynopsis>
+     <modifier>protected</modifier>
+     <varname linkend="yaf-controller-abstract.props.view">_view</varname>
+    </fieldsynopsis>
+
+
+    <classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
+    <xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.yaf-controller-abstract')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[1])" />
+   </classsynopsis>
+   <!-- }}} -->
+
+  </section>
+
+
+  <!-- {{{ Yaf_Controller_Abstract properties -->
+  <section xml:id="yaf-controller-abstract.props">
+   &reftitle.properties;
+   <variablelist>
+    <varlistentry xml:id="yaf-controller-abstract.props.actions">
+     <term><varname>actions</varname></term>
+     <listitem>
+      <para>
+       Вы также можете определить метод действия в отдельном скрипте PHP, используя
+       это свойство и <classname>Yaf_Action_Abstract</classname>.
+       <example>
+        <title>Определение действия в отдельном файле</title>
+        <programlisting role="php">
+<![CDATA[
+<?php
+class IndexController extends Yaf_Controller_Abstract {
+    protected $actions = array(
+        /** теперь dummyAction определяется в отдельном файле */
+        "dummy" => "actions/Dummy_action.php",
+    );
+
+    /* у метода действия могут быть аргументы */
+    public indexAction($name, $id) {
+       /* $name и $id небезопасные необработанные данные */
+       assert($name == $this->getRequest()->getParam("name"));
+       assert($id   == $this->_request->getParam("id"));
+    }
+}
+?>
+]]>
+       </programlisting>
+       </example>
+       <example>
+        <title>Dummy_action.php</title>
+        <programlisting role="php">
+<![CDATA[
+<?php
+class DummyAction extends Yaf_Action_Abstract {
+    /* класс действия должен определить этот метод как точку входа */
+    public execute() {
+    }
+}
+?>
+]]>
+       </programlisting>
+       </example>
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry xml:id="yaf-controller-abstract.props.module">
+     <term><varname>_module</varname></term>
+     <listitem>
+      <para>
+       имя модуля
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry xml:id="yaf-controller-abstract.props.name">
+     <term><varname>_name</varname></term>
+     <listitem>
+      <para>
+       имя контроллера
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry xml:id="yaf-controller-abstract.props.request">
+     <term><varname>_request</varname></term>
+     <listitem>
+      <para>
+       текущий объект запроса
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry xml:id="yaf-controller-abstract.props.response">
+     <term><varname>_response</varname></term>
+     <listitem>
+      <para>
+       текущий объект ответа
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry xml:id="yaf-controller-abstract.props.invoke-args">
+     <term><varname>_invoke_args</varname></term>
+     <listitem>
+      <para></para>
+     </listitem>
+    </varlistentry>
+    <varlistentry xml:id="yaf-controller-abstract.props.view">
+     <term><varname>_view</varname></term>
+     <listitem>
+      <para>
+       объект движка отображения
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </section>
+  <!-- }}} -->
+
+
+ </partintro>
+
+ &reference.yaf.entities.yaf-controller-abstract;
+
+</phpdoc:classref>
+
+<!-- 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:"~/.phpdoc/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
+-->


Property changes on: phpdoc/ru/trunk/reference/yaf/yaf-controller-abstract.xml
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id Rev Revision Date LastChangedDate LastChangedRevision Author LastChangedBy HeadURL URL
\ No newline at end of property
Added: phpdoc/ru/trunk/reference/yaf/yaf-loader.xml
===================================================================
--- phpdoc/ru/trunk/reference/yaf/yaf-loader.xml	                        (rev 0)
+++ phpdoc/ru/trunk/reference/yaf/yaf-loader.xml	2020-03-19 06:28:29 UTC (rev 349493)
@@ -0,0 +1,303 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Revision$ -->
+<!-- EN-Revision: 346894 Maintainer: sergey Status: ready -->
+<!-- Reviewed: no -->
+
+<phpdoc:classref xml:id="class.yaf-loader" xmlns:phpdoc="http://php.net/ns/phpdoc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
+
+ <title>Класс Yaf_Loader</title>
+ <titleabbrev>Yaf_Loader</titleabbrev>
+
+ <partintro>
+
+  <!-- {{{ Yaf_Loader intro -->
+  <section xml:id="yaf-loader.intro">
+   &reftitle.intro;
+   <para>
+    <classname>Yaf_Loader</classname> представляет комплексное решение
+    для автозагрузки для Yaf.
+   </para>
+   <para>
+    При первом извлечении экземпляра <classname>Yaf_Application</classname>,
+    <classname>Yaf_Loader</classname> создает экземпляр-одиночку и регистрируется с помощью
+    spl_autoload. Вы извлекаете экземпляр, используя <methodname>Yaf_Loader::getInstance</methodname>
+   </para>
+   <para>
+    <classname>Yaf_Loader</classname> попытается загрузить класс только один раз, в случае
+    возниккновения ошибки, зависит от <link
+    linkend="ini.yaf.use-spl-autoload">yaf.use_spl_auload</link>, если эта
+    конфигурация включена <methodname>Yaf_Loader::autoload</methodname> вернет
+    &false;, таким образом предоставляя возможность другой функции автозагрузки. Если выключена
+    (по умолчанию), <methodname>Yaf_Loader::autoload</methodname> вернет
+    &true;, а также сработает очень полезное предупреждение
+    (полезно, чтобы выяснить, почему класс не может быть загружен).
+    <note>
+     <para>
+      Пожалуйста, оставьте yaf.use_spl_autoload выключенным, если в какой-то библиотеке
+      нет собственного механизма автозагрузки и его невозможно переписать.
+     </para>
+    </note>
+   </para>
+   <para>
+    По умолчанию <classname>Yaf_Loader</classname> предполагает, что вся библиотека
+    (сценарий, определенный классом) хранится в <link linkend="ini.yaf.library">каталоге глобальной
+    библиотеки</link>, который определен в php.ini (yaf.library).
+   </para>
+
+   <para>
+    Если вы хотите с помощью <classname>Yaf_Loader</classname> выполнить поиск некоторых
+    классов (библиотек) в <link linkend="yaf-loader.props.library">каталоге локальных
+    классов</link> (который определен в application.ini,
+    по умолчанию это <link
+    linkend="configuration.yaf.directory">application.directory</link>. "/library"),
+    вы должны зарегистрировать префикс класса, используя
+    <methodname>Yaf_Loader::registerLocalNameSpace</methodname>
+   </para>
+
+   <para>
+    Давайте посмотрим несколько примеров (при условии, что APPLICATION_PATH <link
+    linkend="configuration.yaf.directory">application.directory</link>):
+    <example>
+     <title>Пример конфигурации</title>
+     <programlisting role="shell">
+<![CDATA[
+// Предполагаются следующие настройки в php.ini:
+yaf.library = "/global_dir"
+
+//Предполагаются следующие настройки в php.ini:
+application.library = APPLICATION_PATH "/library"
+]]>
+     </programlisting>
+    </example>
+
+    Предполагается, что зарегистрировано следующее локальное пространство имен:
+    <example>
+     <title>Зарегистрировать локальное пространство имен</title>
+     <programlisting role="php">
+<![CDATA[
+<?php
+class Bootstrap extends Yaf_Bootstrap_Abstract{
+     public function _initLoader($dispatcher) {
+          Yaf_Loader::getInstance()->registerLocalNameSpace(array("Foo", "Bar"));
+     }
+?>
+]]>
+     </programlisting>
+    </example>
+
+    Тогда пример автозагрузки:
+    <example>
+     <title>Пример загрузки класса</title>
+     <programlisting role="shell">
+<![CDATA[
+class Foo_Bar_Test =>
+  // APPLICATION_PATH/library/Foo/Bar/Test.php
+
+class GLO_Name  =>
+  // /global_dir/Glo/Name.php
+
+class BarNon_Test
+  // /global_dir/Barnon/Test.php
+]]>
+     </programlisting>
+    </example>
+
+    Начиная с PHP 5.3, вы можете использовать пространство имен:
+    <example>
+     <title>Пример загрузки класса имен</title>
+     <programlisting role="shell">
+<![CDATA[
+class \Foo\Bar\Dummy =>
+   // APPLICATION_PATH/library/Foo/Bar/Dummy.php
+
+class \FooBar\Bar\Dummy =>
+   // /global_dir/FooBar/Bar/Dummy.php
+]]>
+     </programlisting>
+    </example>
+   </para>
+
+   <para>
+    Вы можете заметить, что все папки с первой буквой заглавными, вы можете сделать их
+    строчными, установив <link linkend="ini.yaf.lowcase-path">yaf.lowcase_path</link> = On в php.ini.
+   </para>
+
+   <para>
+    <classname>Yaf_Loader</classname> также предназначен для загрузки
+    классов MVC, и правило таково:
+    <example>
+     <title>Пример загрузки класса MVC</title>
+     <programlisting role="shell">
+<![CDATA[
+Controller Classes =>
+// APPLICATION_PATH/controllers/
+
+Model Classes =>
+// APPLICATION_PATH/models/
+
+Plugin Classes =>
+// APPLICATION_PATH/plugins/
+]]>
+     </programlisting>
+    </example>
+
+    Yaf идентифицирует суффикс класса (это по умолчанию, вы также можете изменить
+    его на префикс, изменив конфигурацию <link
+    linkend="ini.yaf.name-suffix">yaf.name_suffix</link>), чтобы решить, является ли
+    он классом MVC:
+    <example>
+     <title>Классовые различия MVC</title>
+     <programlisting role="shell">
+<![CDATA[
+Controller Classes =>
+    // ***Controller
+
+Model Classes =>
+    // ***Model
+
+Plugin Classes =>
+    // ***Plugin
+]]>
+    </programlisting>
+   </example>
+
+   несколько примеров:
+   <example>
+    <title>Пример загрузки MVC</title>
+    <programlisting role="shell">
+<![CDATA[
+class IndexController
+    // APPLICATION_PATH/controllers/Index.php
+
+class DataModel =>
+   // APPLICATION_PATH/models/Data.php
+
+class DummyPlugin =>
+  // APPLICATION_PATH/plugins/Dummy.php
+
+class A_B_TestModel =>
+  // APPLICATION_PATH/models/A/B/Test.php
+]]>
+    </programlisting>
+   </example>
+
+   <note>
+    <para>
+     Начиная с 2.1.18, Yaf поддерживает автозагрузку контроллеров для стороны пользовательского скрипта
+     (что означает автозагрузку, запускаемую пользовательским скриптом php, например: доступ
+     к статическому свойству контроллера в Bootstrap или плагинах),
+     но автозагрузчик только пытается найти скрипт класса контроллера в папке модуля по умолчанию,
+     которая называется "APPLICATION_PATH/controllers/".
+    </para>
+   </note>
+   также на каталог будет влиять <link linkend="ini.yaf.lowcase-path">yaf.lowcase_path</link>.
+   </para>
+  </section>
+  <!-- }}} -->
+
+  <section xml:id="yaf-loader.synopsis">
+   &reftitle.classsynopsis;
+
+   <!-- {{{ Synopsis -->
+   <classsynopsis>
+    <ooclass><classname>Yaf_Loader</classname></ooclass>
+
+    <!-- {{{ Class synopsis -->
+    <classsynopsisinfo>
+     <ooclass>
+      <classname>Yaf_Loader</classname>
+     </ooclass>
+    </classsynopsisinfo>
+    <!-- }}} -->
+    <classsynopsisinfo role="comment">&Properties;</classsynopsisinfo>
+    <fieldsynopsis>
+     <modifier>protected</modifier>
+     <varname linkend="yaf-loader.props.local-ns">_local_ns</varname>
+    </fieldsynopsis>
+    <fieldsynopsis>
+     <modifier>protected</modifier>
+     <varname linkend="yaf-loader.props.library">_library</varname>
+    </fieldsynopsis>
+    <fieldsynopsis>
+     <modifier>protected</modifier>
+     <varname linkend="yaf-loader.props.global-library">_global_library</varname>
+    </fieldsynopsis>
+    <fieldsynopsis>
+     <modifier>static</modifier>
+     <varname linkend="yaf-loader.props.instance">_instance</varname>
+    </fieldsynopsis>
+
+
+    <classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
+    <xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.yaf-loader')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[1])" />
+   </classsynopsis>
+   <!-- }}} -->
+
+  </section>
+
+
+  <!-- {{{ Yaf_Loader properties -->
+  <section xml:id="yaf-loader.props">
+   &reftitle.properties;
+   <variablelist>
+    <varlistentry xml:id="yaf-loader.props.local-ns">
+     <term><varname>_local_ns</varname></term>
+     <listitem>
+      <para></para>
+     </listitem>
+    </varlistentry>
+    <varlistentry xml:id="yaf-loader.props.library">
+     <term><varname>_library</varname></term>
+     <listitem>
+      <para>
+       По умолчанию это значение равно <link
+       linkend="configuration.yaf.directory">application.directory</link> . "/library",
+       вы можете изменить это либо в application.ini(application.library), либо вызвать
+       <methodname>Yaf_Loader::setLibraryPath</methodname>
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry xml:id="yaf-loader.props.global-library">
+     <term><varname>_global_library</varname></term>
+     <listitem>
+      <para></para>
+     </listitem>
+    </varlistentry>
+    <varlistentry xml:id="yaf-loader.props.instance">
+     <term><varname>_instance</varname></term>
+     <listitem>
+      <para></para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </section>
+  <!-- }}} -->
+
+
+ </partintro>
+
+
+ &reference.yaf.entities.yaf-loader;
+
+</phpdoc:classref>
+
+<!-- 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:"~/.phpdoc/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
+-->


Property changes on: phpdoc/ru/trunk/reference/yaf/yaf-loader.xml
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id Rev Revision Date LastChangedDate LastChangedRevision Author LastChangedBy HeadURL URL
\ No newline at end of property
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.