2010-11-12 4 views
1

Je construis une application CodeIgniter et utilise Smarty comme système de templates. Au lieu d'essayer d'assigner des variables Smarty à partir de divers contrôleurs, serait-il préférable de définir toutes les variables Smarty à un endroit (par exemple, une super classe de contrôleur) de sorte que tout soit dans un endroit? Mon souci avec cette approche est que l'attribution de variables non nécessaires pour une paire contrôleur/vue particulière peut dégrader les performances.Variables Smarty

Des idées?

Répondre

2

Tout en un! = Bon

Gardez vos affectations de variables de modèle par le code qui est de les affecter. Non seulement cela sera-t-il plus simple à maintenir, mais cela a plus de sens car il faut que le contrôleur affecte directement les variables du modèle (et non via un intermédiaire). En outre, plusieurs contrôleurs peuvent utiliser un modèle et attribuer des variables via des règles différentes.

+0

Pourriez-vous élaborer sur les avantages et les inconvénients? – StackOverflowNewbie

+1

J'ai ajouté quelques détails supplémentaires. Malheureusement, il n'y a aucun avantage pour votre approche de super classe. Avoir des dizaines ou des centaines de variables à un seul endroit ne sert pas à grand chose dans MVC car les méthodes du contrôleur sont en charge d'interagir avec les modèles et les vues, donc elles sont seulement un endroit logique pour effectuer des assignations de variables. – webbiedave