Je vous propose aujourd’hui une introduction au nouveau plugin de migrations pour CakePHP qui vient d’être rendu open source par CakeDC (mon entreprise). Le but est d’expliquer en quelques lignes le fonctionnement du plugin (vraiment simple) et l’intérêt d’utiliser les migrations au sein de vos applications.
Description du plugin en une phrase : il permet aux développeurs de versionner et d’automatiser la création / mise à jour du schéma de la base de données d’une application ainsi que de ces données depuis la ligne de commande.
Pour information, cela fait plusieurs années que le plugin est utilisé en interne chez CakeDC sur tous les projets afin de faciliter le travail en équipe et le déploiement des applications … Il a récemment été totalement ré-écrit et testé pour une ouverture en open source (licence MIT), et est désormais disponible (ainsi que sa documentation) gratuitement !



Lister tous les modèles d’une application CakePHP (plugins inclus)
Voici aujourd’hui un rapide zoom sur une méthode de CakePHP qui permet de facilement récupérer les différents types de fichiers d’une application (helpers, modèles, contrôleurs ou encore plugins). Cette méthode existe depuis un bon moment et était accessible par Configure::listObjects(). Dans la version 1.3 de CakePHP celle-ci a été améliorée et renommée en App::objects().
Je vous invite à lire la documentation pour comprendre comment utiliser cette méthode, le but de cet article étant avant tout de proposer une utilisation concrète résolvant une de ses limites. En effet, seuls les objets de l’application sont retournés par l’application ce qui peut poser problème si on veut par exemple récupérer tous les modèles de l’application ET de ces plugins.
Comment lister tous les objets d’une application et de ses plugins ?