Stockage en base des config : changer de serialize à json
Le stockage en base de config est en serialize() PHP.
Plusieurs sources tendent à dire que cela peut poser des problèmes lors d'un stockage en base, en particulier dans des cas de transtypage.
https://davidwalsh.name/php-serialize-unserialize-issues
https://stackoverflow.com/a/19469288/3206025
J'ai eu quelque cas où cela m'a fait perdre tout les champs. Je ne suis pas certain que la cause était cela, mais je me dis que cela vaut la peine d'y réflechir.
Plusieurs solutions :
- passer à JSON
- faire un base64 avant de mettre en base
- stocker dans un champ blob
https://stackoverflow.com/questions/1306740/json-vs-serialized-array-in-database/2215522 https://stackoverflow.com/questions/10770974/which-mysql-column-type-for-serializedata/10771079 Utiliser aussi le type json de mysql ?
https://dev.mysql.com/doc/refman/5.7/en/json.html
A reflechiren tout cas. Si on fait cela il faudra prévoir non seulement la migration, mais aussi voir tout les plugins qui appelle directement la config du formulaire et tente l'unserialization. Donc pas une decision à prendre à la légère.