Files
smarty/docs/ru/programmers/plugins.xml
freespace e799943aba Converted all line endings from CRLF to LF.
Sorry for such a big commit, but this should be done only once.
And please, don't kill me if I did a stupid thing :)
2004-11-25 23:26:13 +00:00

83 lines
3.2 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="windows-1251"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.5 Maintainer: tony2001 Status: ready -->
<chapter id="plugins">
<title>Плагины - расширение функционала Smarty</title>
<para>
Архитектура версии 2.0 позволяет внедрять плагины, которыми являются
практически все настраиваемые элементы функционала Smarty. Сюда входят:
<itemizedlist spacing="compact">
<listitem><simpara>функции</simpara></listitem>
<listitem><simpara>модификаторы</simpara></listitem>
<listitem><simpara>блоковые функции</simpara></listitem>
<listitem><simpara>функции компилятора</simpara></listitem>
<listitem><simpara>префильтры</simpara></listitem>
<listitem><simpara>постфильтры</simpara></listitem>
<listitem><simpara>фильтры вывода</simpara></listitem>
<listitem><simpara>ресурсы</simpara></listitem>
<listitem><simpara>вставки</simpara></listitem>
</itemizedlist>
За исключением ресурсов, в целях обратной совместимости с предыдущими версиями, сохранена
возможность регистрации функций посредством register_* API.
Если вы не используете API, а вместо этого модифицируете
<literal>$custom_funcs</literal>, <literal>$custom_mods</literal> и некоторые другие
переменные напрямую, тогда вам придется подогнать ваши скрипты под использование
API или преобразовать добавленную вами функциональность в плагины.
</para>
<sect1>
<title>Как работают плагины</title>
<para>
Плагины загружаются только при необходимости. Загруженными окажутся
только только те модификаторы, функции,ресурсы и т.п., которые
определены в скрипте шаблона. Более того, каждый плагин загружается
лишь один раз, даже если у вас имеется несколько различных экземпляров
объекта Smarty, выполняемых внутри одного запроса.
</para>
<para>
Пре/постфильтры и фильтры вывода - это отдельный случай. Так как
они не упоминаются в шаблонах, их необходимо зарегистрировать
или явно загрузить с помощью API-функций перед обработкой шаблона.
Порядок исполнения множественных фильтров зависит от порядка, в котором
они были зарегистрированы или загружены.
</para>
<para>
В целях оптимизации производительности, под плагины отведена одна
специальная директория. Чтобы установить плагин, просто поместите его
в эту директорию и Smarty будет использовать его в автоматическом режиме.
</para>
</sect1>
&programmers.plugins.plugins-howto;
&programmers.plugins.plugins-naming-conventions;
&programmers.plugins.plugins-writing;
&programmers.plugins.plugins-functions;
&programmers.plugins.plugins-modifiers;
&programmers.plugins.plugins-block-functions;
&programmers.plugins.plugins-compiler-functions;
&programmers.plugins.plugins-prefilters-postfilters;
&programmers.plugins.plugins-outputfilters;
&programmers.plugins.plugins-resources;
&programmers.plugins.plugins-inserts;
</chapter>
<!-- 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
-->