2009-09-10 7 views
7

Me preguntaba si alguien sabía cómo usar algunos componentes del Zend Framework sin tener que utilizar realmente el framework. Por ejemplo, me gustaría usar sus componentes Zend_Validate, pero no quiero la sobrecarga del marco, ya que es un pequeño script de una página.¿Utiliza los componentes de Zend Framework sin el marco real?

¿Se puede hacer esto fácilmente, y si es así, hay guías/tutoriales sobre cómo lograrlo?

+0

Nunca tendrá la sobrecarga del marco, porque en realidad es más una biblioteca. Solo incluirá lo que necesita. Si solo usa 'Zend_Validate', solo lo incluirá y sus dependencias en su script. – jason

Respuesta

11

Los componentes de Zend Framework están diseñados intencionalmente para acoplarse holgadamente desde el propio marco.

La estructura de componentes de Zend Framework es única; cada componente está diseñado con pocas dependencias en otros componentes. Esta arquitectura débilmente acoplada permite a los desarrolladores usar componentes individualmente. A menudo llamamos a esto un diseño de "uso a voluntad" de . [from here]

Here's a tool for pulling out specific components and their dependencies para usar en su aplicación.

2

Acabo de tomar todo el paquete de Zend, y he usado piezas de él. Siempre parece que termino usando más a medida que pasa el tiempo, así que lo mantengo actualizado incluso si no estoy usando algunas de las cosas de MVC en un proyecto u otro. Aferrarse a todo esto hace que no tenga que preocuparse por las dependencias (y cómo podrían cambiar el camino).

+0

upvote para el pragmatismo :-) – namespaceform

1

Zend componentes de la estructura, mientras que son poco pareja todavía están acoplados. Si desea utilizar Zend_Mail componente por ejemplo - que en realidad también se requerirá:

  1. Zend_Mime
  2. Zend_Exception
  3. Zend_Validation

Zend_Validation se cargará por el mero hecho de validación de correo electrónico Dominio de dirección.

Entonces, la mejor opción sería incluir toda la biblioteca de Zend. Al tirar solo de varios componentes, pronto terminarás en el "infierno de la dependencia", especialmente a medida que cambia la API (aunque eso no ocurre con demasiada frecuencia).

Además, a partir de la versión 2.0, debe usar un autocargador para cargar componentes de Zend ya que todas las llamadas requeridas se eliminarán de las clases de PHP.