<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect1 id="learning.plugins.intro">
    <title>Introdução</title>

    <para>
        O Zend Framework faz intensa utilização da arquitetura de plugins. Plugins permitem uma
        fácil extensão e customização do framework e mantém seu código independente do núcleo do
        Zend Framework.
    </para>

    <para>
        Normalmente, os plugins no Zend Framework funcionam da seguinte forma:
    </para>

    <itemizedlist>
        <listitem>
            <para>
                Plugins são classes. A definição real da classe varia dependendo do componente --
                pode ser necessário extender uma classe abstrata ou implementar uma interface,
                mas o plugin em si é uma classe.
            </para>
        </listitem>

        <listitem>
            <para>
                Plugins relacionados compartilharão um prefixo de classe. Por exemplo, se você
                criou alguns helpers de view, eles devem possuir o prefixo de classe
                "<classname>Foo_View_Helper_</classname>".
            </para>
        </listitem>

        <listitem>
            <para>
                Qualquer coisa após o prefixo comum será considerado <emphasis>nome do
                plugin</emphasis> ou <emphasis>nome abreviado</emphasis> (em oposição a
                "nome completo", que é o nome inteiro da classe). Por exemplo, se o prefixo do
                plugin é "<classname>Foo_View_Helper_</classname>", e o nome da classe é
                "<classname>Foo_View_Helper_Bar</classname>", o nome do plugin será
                "<classname>Bar</classname>".
            </para>
        </listitem>

        <listitem>
            <para>
                Nomes de plugin são "case sensitive". Porém, a letra inicial pode ser tanto
                minúscula quanto maiúscula; em nosso exemplo anterior, tanto "bar" como
                "Bar" referem-se ao mesmo plugin.
            </para>
        </listitem>
    </itemizedlist>

    <para>
        Agora vamos à utilização dos plugins.
    </para>
</sect1>
