Question

est-il considéré comme une bonne / mauvaise architecture mettre en place une aide et de laisser cette poignée toutes les constantes, les variables et les données?

Je suis en train d'écrire une extension assez simple avec un membre / connexions non-membres - par exemple, la plupart du temps des choses frontend. « Remember me » à vérifier dans certains cas, boîte de connexion pour être ouverte dans certains cas, etc. En utilisant les cookies assez largement pour cela et pas d'accès véritable base de données avec des options de configuration très minimes par admin.

Était-ce utile?

La solution

"Constantes, des variables et des données", les sons pour moi comme des choses 'modèles'.

En général, la réponse va vraiment dépendre du problème spécifique que vous essayez de résoudre. Mais je tendance à résumer ce genre de choses dans un modèle - même si elle n'a pas besoin d'utiliser la base de données.

Maintenant rappelez-vous, un modèle représente votre domaine (où les moyens de domaine commercial / logique applications) et non pas seulement la persistance des données. Cela peut être source de confusion, comme ces jours-ci les gens voient « modèle » et pense immédiatement à la base de données.

L'exception à cette règle est lorsque vous devez comportement d'accès à partir d'un bloc ou d'un modèle. Il est très pratique pour les aides d'utilisation:

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

Ceci est beaucoup plus agréable (et efficace informatiquement) que l'alternative

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

Bien sûr, vous pourriez penser ne devrait pas être formatReferenceNumber juste une méthode de $ myModel alors? Et peut-être, oui. Mais l'avoir dans un assistant vous permet de séparer le problème de formatage d'un numéro de référence du stockage de celui-ci. Vous pouvez facilement définir les options de formatage alternatives - peut-être à travers différentes aides -. Sans alourdir votre modèle

L'autre fois que vous voulez utiliser les aides sur les modèles est si vous vous retrouvez à écrire beaucoup de code PHP dans les modèles. Disons que vous avez une table de lignes et que vous voulez que les lignes impaires d'être une couleur et même des lignes encore. J'extrais ce genre de fonctionnalités dans une aide.

En général, le suivi heuristique I est de conserver les données commerciales et la logique des modèles et des aides d'utilisation pour transformer les données en formes spécifiques pour la présentation sur le frontend.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top