2009-08-11 3 views
0

Je suis tout nouveau dans le style de codage MVC et j'ai de la difficulté à décider si j'ai placé mon code au bon endroit. J'ai une liste de taux pour un article, les taux ont différents délais. ce que je veux faire est d'afficher le taux le plus élevé par article pour le jour en cours. alors disons que si l'item 1 a 3 taux, et 2 d'entre eux se chevauchent aujourd'hui, il choisira le plus élevé de ces 2 taux et l'affichera.new to mvc, divisant la question de code

Je l'ai placé dans la vue car il s'applique à la manière dont j'affiche les données. C'est dans cakephp donc c'est une plate-forme web si cela change la façon dont vous pensez que le contrôleur/vue devrait être appliquée.

Répondre

1

Je place généralement toute ma logique dans le contrôleur et le modèle de sorte que ma vue n'a que des instructions de balisage et de sortie. Cela vous permettra de garder vos vues bien plus propres et, surtout si vous êtes dans un endroit où des non-programmeurs peuvent modifier des vues (par exemple: des développeurs frontaux ou des personnes de contenu), vous courez moins le risque de gâcher les choses.

Généralement, je préfère les contrôleurs minces par rapport aux modèles, et même les vues plus minces (minces concernant la quantité de logique dans chaque division).

+0

ouais cela a du sens, merci pour votre contribution. Je le déplace vers le contrôleur maintenant. – Adrian

+1

Bonne chance! Le contrôleur est souvent le composant le plus mal compris de MVC. La plupart du temps, les gens essaient d'en faire trop dans le contrôleur et de faire un tas de choses. –

+0

Je voudrais aller de l'avant et de passer au modèle, car je préfère les gros modèles. Vous pouvez faire un Model :: getRate ($ itemNum, $ time) et passer l'heure actuelle à $ time si vous le définissez correctement. Laissez le contrôleur faire cet appel et envoyer la réponse à la vue, mais je n'aurais pas tout ce côté logique du contrôleur. –

0

Je sépare le code de vue réutilisable en éléments. et placez les éléments dans son dossier de contrôleur respectif dans le dossier des éléments. alors un contrôleur de page aurait un dossier d'élément appel/app/views/elements/page