| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- Reviewed: no -->
- <sect1 id="learning.plugins.intro">
- <title>Introduction</title>
- <para>
- Zend Framework makes heavy use of plugin architectures. Plugins allow for easy extensibility
- and customization of the framework while keeping your code separate from Zend Framework's
- code.
- </para>
- <para>
- Typically, plugins in Zend Framework work as follows:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Plugins are classes. The actual class definition will vary based on the component --
- you may need to extend an abstract class or implement an interface, but the fact
- remains that the plugin is itself a class.
- </para>
- </listitem>
- <listitem>
- <para>
- Related plugins will share a common class prefix. For instance, if you have created
- a number of view helpers, they might all share the class prefix
- "<classname>Foo_View_Helper_</classname>".
- </para>
- </listitem>
- <listitem>
- <para>
- Everything after the common prefix will be considered the <emphasis>plugin
- name</emphasis> or <emphasis>short name</emphasis> (versus the "long name",
- which is the full classname). For example, if the plugin prefix is
- "<classname>Foo_View_Helper_</classname>", and the class name is
- "<classname>Foo_View_Helper_Bar</classname>", the plugin name will be simply
- "<classname>Bar</classname>".
- </para>
- </listitem>
- <listitem>
- <para>
- Plugin names are typically case sensitive. The one caveat is that the initial letter
- can often be either lower or uppercase; in our previous example, both "bar" and
- "Bar" would refer to the same plugin.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Now let's turn to using plugins.
- </para>
- </sect1>
|