quickstart-intro-mvc.xml 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 19912 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="learning.quickstart.intro">
  5. <title>Introducción a MVC &amp; ZF</title>
  6. <sect2 id="learning.quickstart.intro.zf">
  7. <title>Zend Framework</title>
  8. <para>
  9. Zend Framework es un framework de código abierto y orientado a objectos para facilitar
  10. el desarrollo de aplicaciones web con PHP 5.
  11. A menudo es considerado una 'biblioteca de componentes', debido a que estos poseen bajo
  12. acoplamiento entre sí lo cual permite reutilizarlos con un alto grado de independencia. Proporciona
  13. además una sofisticada implementación del patrón Modelo-Vista-Controlador (MVC) el cual puede
  14. ser utilizado para fijar la estructura básica de las aplicaciones desarrolladas con el framework.
  15. Encontrarás la lista completa de los componentes del Zend Framework junto a
  16. breves descripciones de los mismos en la
  17. <ulink url="http://framework.zend.com/about/components">lista de componentes</ulink>.
  18. En este tutorial te ayudaremos a familiarizarte con aquellos componentes del framework
  19. utilizados de manera más frecuente incluyendo
  20. <classname>Zend_Controller</classname>, <classname>Zend_Layout</classname>,
  21. <classname>Zend_Config</classname>, <classname>Zend_Db</classname>,
  22. <classname>Zend_Db_Table</classname> y <classname>Zend_Registry</classname>.
  23. </para>
  24. <para>
  25. Utilizando dichos componentes construiremos en pocos minutos una sencilla aplicación de ejemplo
  26. en la cual nos serviremos de una base de datos para registrar los comentarios que dejen los usuarios
  27. de un sitio web. Puedes descargar el código fuente completo para
  28. esta aplicación de los siguientes enlaces:
  29. </para>
  30. <itemizedlist>
  31. <listitem>
  32. <para>
  33. <ulink
  34. url="http://framework.zend.com/demos/ZendFrameworkQuickstart.zip">formato zip</ulink>
  35. </para>
  36. </listitem>
  37. <listitem>
  38. <para>
  39. <ulink
  40. url="http://framework.zend.com/demos/ZendFrameworkQuickstart.tar.gz">formato tar.gz</ulink>
  41. </para>
  42. </listitem>
  43. </itemizedlist>
  44. </sect2>
  45. <sect2 id="learning.quickstart.intro.mvc">
  46. <title>Modelo-Vista-Controlador</title>
  47. <para>
  48. En resumen ¿qué es exactamente el patrón MVC del que tanto hablan? ¿y por qué
  49. debería importarte? MVC no es sólo un acrónimo de tres letras que puedes utilizar
  50. para impresionar a tus amigos, actualmente MVC se ha convertido en un estándar
  51. para el diseño de las aplicaciones web modernas. Y por buenas razones ya que
  52. ayuda a modelar de forma precisa la separación de intereses permitiendo agrupar
  53. en distintas partes de la aplicación el código que se relaciona con la presentación,
  54. el que implementa la lógica de negocios y el que accede a los datos.
  55. Muchos desarrolladores encuentran indispensable dicha separación para ayudarlos a mantener
  56. su código organizado, especialmente cuando más de un desarrollador se encuentra
  57. trabajando en la misma aplicación.
  58. </para>
  59. <note>
  60. <title>Más información</title>
  61. <para>
  62. Profundicemos un poco y veamos cada parte de este patrón por separado:
  63. </para>
  64. <para>
  65. <inlinegraphic width="321" scale="100" align="center" valign="middle"
  66. fileref="figures/learning.quickstart.intro.mvc.png" format="PNG" />
  67. </para>
  68. <itemizedlist>
  69. <listitem>
  70. <para>
  71. <emphasis role="strong">Modelo</emphasis> - ofrece las funcionalidades básicas
  72. de la aplicación incluyendo las rutinas de acceso a datos y la lógica de negocios.
  73. </para>
  74. </listitem>
  75. <listitem>
  76. <para>
  77. <emphasis role="strong">Vista</emphasis> - se encarga de generar lo que se presenta
  78. al usuario a partir de los datos que recibe del controlador, al mismo tiempo que recogen
  79. los datos que brindan los usuarios. Es la parte de la aplicación donde encontrarás el HTML.
  80. </para>
  81. </listitem>
  82. <listitem>
  83. <para>
  84. <emphasis role="strong">Controlador</emphasis> - son los que unen el patrón.
  85. Según el pedido del usuario y otras variables ellos pueden decidir ejecutar
  86. otro controlador o manipular los datos del modelo para luego asignarle el resultado
  87. a una vista en particular.
  88. Muchos expertos en MVC recomiendan <ulink
  89. url="http://weblog.jamisbuck.org/2006/10/18/skinny-controller-fat-model">mantener
  90. el controlador lo más limpio posible</ulink>.
  91. </para>
  92. </listitem>
  93. </itemizedlist>
  94. <para>
  95. Podríamos <ulink url="http://ootips.org/mvc-pattern.html">extendernos aún más</ulink>
  96. sobre este patrón pero por ahora ya posees los conocimientos suficientes
  97. que te permitirán entender la aplicación que vamos a construir.
  98. </para>
  99. </note>
  100. </sect2>
  101. </sect1>