Présentation
CakePHP est un outil conçu pour faciliter la création de sites web en utilisant le langage de programmation PHP. Depuis son lancement en 2005, il aide les développeurs à organiser leur code de manière claire et efficace, tout en offrant des fonctionnalités prêtes à l’emploi comme la sécurité et la gestion des bases de données. En suivant des règles simples et en réduisant la configuration manuelle, CakePHP permet de gagner du temps et d’éviter des erreurs. Cette veille technologique vise à explorer les nouveautés et à comprendre comment CakePHP continue de s’adapter aux besoins du développement web d’aujourd’hui
Raison du choix
CakePHP existe depuis 2005, ce qui en fait un framework très stable. Son historique long et son évolution continue en font une technologie d’intérêt pour comprendre comment un framework PHP peut rester pertinent sur une longue durée et l’utilité même d’un framework. De plus, la communauté CakePHP est toujours active sur les réseaux sociaux comme reddit ou discord. Analyser comment une communauté plus restreinte parvient à maintenir et faire évoluer un projet peut fournir des enseignements sur l’importance des contributeurs et du support opensource.
Version 5.2
Sortie : 29 mars 2025

Principales nouveautés apportées par CakePHP 5.2.0 :
- Améliorations de la CLI et des tests console
- Nouvelle commande
cake counter_cache
pour régénérer les compteurs gérés parCounterCacheBehavior
. ConsoleIntegrationTestTrait::debugOutput()
facilite le débogage des tests d’intégration de commandes.- Support d’une option
separator
surConsoleInputArgument
etConsoleInputOption
(et méthodes associéesgetArrayArgument()
,getArrayOption()
, etc.) pour découper automatiquement une chaîne comme--names=foo,bar
en tableau (book.cakephp.org).
- Nouvelle commande
- Base de données et ORM
- Type de colonne
nativeuuid
: utilise les UUID natifs sous MySQL/MariaDB (alias deuuid
ailleurs). Cake\Database\Type\JsonType::setDecodingOptions()
pour personnaliser le drapeau$flags
passé àjson_decode()
.- Méthode
Driver::quote()
pour échapper des valeurs hors requêtes préparées. - Nouvelle méthode
CounterCacheBehavior::updateCounterCache()
(et équivalent console) pour recalculer en masse les compteurs. - ORM :
BelongsToMany::setJunctionProperty()
/getJunctionProperty()
pour contrôler la propriété de jointure, etTable::findOrCreate()
accepte désormais un tableau de données en second argument (book.cakephp.org).
- Type de colonne
- Vues et formulaires
FormHelper::deleteLink()
comme wrapper pour générer un lien de suppression via la méthodeDELETE
.HtmlHelper::importmap()
pour déclarer directement un import map JavaScript depuis les helpers.- Nouveau template
containerClass
(par défautinput
) pour appliquer une classe au conteneur des contrôles de formulaire (book.cakephp.org).
Lien officiel de Cakephp
https://book.cakephp.org/5/en/appendices/5-2-migration-guide.html
Outil
Utilisation de la méthode PULL via :
FEEDER

Conclusion
CakePHP 5.2 apporte des améliorations ciblées pour gagner en productivité et en fiabilité :
- CLI & tests : nouvelle commande
cake counter_cache
et options de débogage simplifiées. - ORM & BDD : type
nativeuuid
, API plus flexibles (findOrCreate()
,updateCounterCache()
) et réflexion de schéma enrichie. - Vues & formulaires : helpers
deleteLink()
etimportmap()
pour plus d’expressivité. - Robustesse : gestion d’exceptions personnalisée et fixtures strictes pour des tests plus sûrs.
Aucune réponse