La 2.5 est effectivement en prod sur plusieurs sites.
Les modules sont petit à petit (en fonctions de nos besoins) portés vers la 2.5. Pour un module donné, la version 2.5 est sur la branche "main", et la version 2.4 sur la branche "master.
Porter un module en 2.5 est assez simple. Voilà en gros les opérations à effectuer :
Change Database name in shema.xml to "TheliaMain"
Delete base modele and map from module/Model directory
Change field type to class names (ex : TextType::class) /!\ il peut y avoir des form field add dans les Event Listener ou ailleurs donc bien vérifier
Invert label and value for from "choice" fields /!\ si c’est un conf vérifier que ce n’est pas utilisé ailleurs et dans ce cas faire un array_flip()
Change Form getName() method to be static
Fix constraints with callback structure
Le nom du form doit être avec des _ et pas des . Bien changer partout : dans le getName, dans le config.xml et dans le templates correspondant
Replace "new FormName();" by a "createForm(FormClassName::getName()) » in controllers
Fix argument inverted when dispatching an event ($eventDispatcher->dispatch($checkCaptchaEvent, ReCaptchaEvents::CHECK_CAPTCHA_EVENT) Bien changer $this par dispatcher qui est passé par injection de dépendance
[php8] Becareful for inexistant variables in smarty « Warning : undefined array key « var »-> remplacer {$var} par {$var|default:null} dans le template correspondant
Set base module function return type to void
Changer les Request par des RequestStack et $requestStack->getCurrentRequest();
Dans les controller, dans les public function …Action remplacer tous les $this-> par de l’injection de dépendances (il faut faire la manip de l’autowiring) (par exemple les mailer et tous les services)
rien de très complexe mais pas mal de petits trucs...