Lorsque j’ai commencé à coder Opencomp, je ne suis parti de rien, c’est à dire que j’ai tout codé à partir de zéro. Après quelques mois de développement, je me suis vite rendu compte que la quantité de lignes de code gonflait de manière assez inquiétante et que tout ce beau petit monde formait en réalité un joyeux bordel. Je ne savais pas comment organiser mon code et cela rendait la tâche de développement assez complexe car il fallait garder en tête les précédents développements pour savoir comment faire appel à telle ou telle fonction.
J’ai donc décidé de reprendre le développement à zéro en utilisant un framework. Un framework, c’est un ensemble de composants structurels qui sert à créer la base d’une application. L’intérêt de ce genre d’outil est de partir sur une base de développement solide et éprouvée. Concrètement, le développeur possède de base un ensemble d’outils qui permettent une mise en place plus aisée de différentes fonctionnalités.
CakePHP, un framework basé sur MVC.
Après plusieurs séances de comparatifs sur Internet, j’ai finalement choisi mon framework : Opencomp se basera sur CakePHP. CakePHP est un framework développé en langage PHP avec une très forte orientation objet et s’inspirant de la syntaxe de RubyOnRails. L’avantage de CakePHP est qu’il se base sur une architecture, un motif de conception reconnu nommé M-V-C : Modèle-Vue-Contrôleur. Ce paradigme de programmation orienté objet est très intéressant puisque il permet de séparer les traitements de contrôle, (le Contrôleur), du modèle de données (le Modèle) et de l’affichage (la Vue).
CakePHP possède de nombreux autres avantages tels que :
- un minimum de configuration a effectuer au début
- une gestion de l’internationalisation (la traduction dans d’autres langues) de l’application (i18n)
- nombreux helpers (assistants) permettant d’écrire du code html de façon simple
- une gestion des layouts (mise en page) intéressante
- une gestion des autorisation puissante via les ACL (Listes de Contrôle d’Accès)
- une riche documentation (qui plus est traduite en français majoritairement)
- une communauté sympathique et serviable.
Ping : CakePHP, les conventions de nommage | Opencomp.fr – Carnet de développement