| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- <?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 the Zend Framework
- 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 "Foo_View_Helper_".
- </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
- "Foo_View_Helper_", and the class name is "Foo_View_Helper_Bar", the plugin name
- will be simply "Bar".
- </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>
|