2
0

plugins-intro.xml 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="learning.plugins.intro">
  5. <title>Introdução</title>
  6. <para>
  7. O Zend Framework faz intensa utilização da arquitetura de plugins. Plugins permitem uma
  8. fácil extensão e customização do framework e mantém seu código independente do núcleo do
  9. Zend Framework.
  10. </para>
  11. <para>
  12. Normalmente, os plugins no Zend Framework funcionam da seguinte forma:
  13. </para>
  14. <itemizedlist>
  15. <listitem>
  16. <para>
  17. Plugins são classes. A definição real da classe varia dependendo do componente --
  18. pode ser necessário extender uma classe abstrata ou implementar uma interface,
  19. mas o plugin em si é uma classe.
  20. </para>
  21. </listitem>
  22. <listitem>
  23. <para>
  24. Plugins relacionados compartilharão um prefixo de classe. Por exemplo, se você
  25. criou alguns helpers de view, eles devem possuir o prefixo de classe
  26. "<classname>Foo_View_Helper_</classname>".
  27. </para>
  28. </listitem>
  29. <listitem>
  30. <para>
  31. Qualquer coisa após o prefixo comum será considerado <emphasis>nome do
  32. plugin</emphasis> ou <emphasis>nome abreviado</emphasis> (em oposição a
  33. "nome completo", que é o nome inteiro da classe). Por exemplo, se o prefixo do
  34. plugin é "<classname>Foo_View_Helper_</classname>", e o nome da classe é
  35. "<classname>Foo_View_Helper_Bar</classname>", o nome do plugin será
  36. "<classname>Bar</classname>".
  37. </para>
  38. </listitem>
  39. <listitem>
  40. <para>
  41. Nomes de plugin são "case sensitive". Porém, a letra inicial pode ser tanto
  42. minúscula quanto maiúscula; em nosso exemplo anterior, tanto "bar" como
  43. "Bar" referem-se ao mesmo plugin.
  44. </para>
  45. </listitem>
  46. </itemizedlist>
  47. <para>
  48. Agora vamos à utilização dos plugins.
  49. </para>
  50. </sect1>