Pregunta

¿Se considera una buena / mala arquitectura para establecer un ayudante y dejar que este mango todas las constantes, variables y datos?

Actualmente estoy escribiendo una extensión bastante sencilla que ver con los inicios de sesión miembro / no socios - en su mayoría frontend cosas por ejemplo. 'Recordarme' al ser comprobado en algunos casos, caja de ingreso para ser abierta en ciertos casos, etc. El uso de cookies de manera bastante extensa para esto y hay un verdadero acceso a la base de datos con opciones de configuración muy mínimas vía de administración.

¿Fue útil?

Solución

"constantes, variables y datos", los de sonido me gustan las cosas 'modelo'.

En general, la respuesta va a depender realmente en el problema específico que estamos tratando de resolver. Pero tiendo a encapsular este tipo de cosas en un modelo - incluso si no es necesario utilizar la base de datos.

Ahora recuerde, un modelo representa su dominio (en el que los medios de dominio de negocio / aplicaciones de la lógica) y no sólo la persistencia de datos. Esto puede ser confuso, ya que estos días la gente ve 'modelo' e inmediatamente se piensa base de datos.

La excepción a esta regla es cuando se necesita comportamiento de acceso de un bloque o una plantilla. Es muy conveniente para los ayudantes de uso:

$this->helper('foomodule')->formatRefererenceNumber($myModel->getReferenceNumber())

Esto es mucho más agradable (y computacionalmente eficiente) que la alternativa

Mage::getModel('foomodule/model')->formatReferenceNumber($myModel->getReferenceNumber()

Por supuesto, se podría pensar que no debe ser sólo formatReferenceNumber un método en $ myModel entonces? Y, posiblemente, sí. Sin embargo, tener en un ayudante le permite separar la preocupación de dar formato a un número de referencia del almacenamiento de la misma. Puede especificar opciones de formato fácilmente alternativas - posiblemente a través de diferentes ayudantes -. Sin apelmazar el modelo

La otra vez que desee utilizar ayudantes sobre los modelos es si usted se encuentra escribiendo un montón de código PHP en las plantillas. Digamos que tiene una tabla de filas y quiere filas impares sean de un color y otro filas pares. Puedo extraer ese tipo de funcionalidad en un ayudante.

En general, el seguir a heurística es mantener los datos del negocio y la lógica de los modelos y ayudantes de uso para transformar los datos en formas específicas para su presentación en el frontend.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top