TheRec
dimanche 2 avril 2006 à 13:26
Bonjour,
ayant pratiqué RoR depuis plusierus mois, et étant un adepte de PHP j'ai pris plaisir à regarder ces vidéo à la mode RoR

Si la majorité des coders actuellement convaincu par PHP devaient se diriger vers un framework (malheureusement cela ne représente qu'une minorité de gens ayant de bonne pratiques en programmation) je pense que CodeIgniter aura du succès effectivement... et je dirais au grand dam de RoR. Le codeur sont parfois trop frilleux et rétissant lorsqu'il s'agit d'apprentre un nouveau langage.
Malgré cela et après avoir vu ces vidéos et parcourus le manuel d'utilisateur, je ne suis pas convaincu que le modèle MVC soit appliqué correctement dans ce framework, il me semble qu'il y a un élément primordial de l'abstraction a été omis... La partie "Modèle" : la validation des données, la récupération selective et les autres tâches étant étroitement liée à aux sources de données externes sont tout bonnement incluses dans les contrôleurs, mais peut-être que j'ai mal interprété les explications...
Deuxièmement RoR est basé sur des conventions, ce qui simplifie le processus du développement car une fois ces conventions apprises on ne perd plus de temps à spécifier au contrôleur quelle vue doit être utilisée (à moins qu'on veuille contourner les conventions), quelle table doit être utilisée, ... Malheureusement CodeIgniter semble ne pas utiliser ces automatismes, ce qui fait que l'on se répète souvent (use_table, ...)... Je sais que contrairement à RoR, CodeIgniter ne se ventent pas d'une philosophie DRY (Don't Repeat Yourself), mais un effort devrait être fait dans ce sens à mon avis, c'est généralement ce qui convint les plus rétissant à se convertir à l'utilisation d'un framework (moins de lignes

)
La démarche est correcte à mon avis, un framework MVC "pur" serait toutefois plus utilisable...
Merci de m'avoir fait découvrir ce framework, il n'est pas impossible que je tente de développer un prochain projet interne en m'appuyant sur CodeIgniter.
P.S. : En lisant le forum (http://www.codeigniter.com/forums/viewthread/78/ , désolé je n'ai pas trouvé d'ancre pour mener directement au message concerné) l'auteur de CodeIngniter indique qu'il a inclus la partie "Modèle" volontairement dans les controlleurs car, en le citant :
CITATION
A “model” typically refers to your database tables represented as classes so that you can use an active record approach for your queries. Code Igniter does have active record capability, it just doesn’t do it by generating classes that model your tables. Why? Simplicity. One of my goals was to eliminate the need to use the command line. I wanted to eliminate having to generate classes dynamically so that people can use the framework even if they are on a shared hosting account without shell access or on accounts in which function like exec( ) are disabled, or without having to make directories writable to create the models..
En gros pour ceux qui ne parlent pas la langue de Shakespear, il ne souhait que le framework puisse fonctionner dans n'importe quel environement et donc qu'il ne soit pas nécessaire d'utiliser un invite de commande pour générer les classes dynamiquement... je ne trouve pas que ce soit une bonne raison...mais ce n'est que mon avis.