Vers les Namespaces et au delà.
En 2018, l'introduction des espaces de nom a modifié les noms des répertoires pour les modules. Pour le module "page", l'ancien répertoire était modpage, maintenant il s'agit de PageModule. Voici une liste de modifications
- /app/modpage devient /app/PageModule (avec la majuscule)
- ajout de l'espace de nom
namespace Appy\PageModule;
dans les fichiers PHP du répertoire /app/PageModule (sauf les gabarits). - Le fichier index.php devient Controller.php
- Le nom de la classe "page_index" devient Controller (nom complet est \Appy\PageModule\Controller
- Le nom de la classe "page_Item" devient Item (nom complet est \Appy\PageModule\Item
- Le nom de la classe "page_List" devient ListModel (nom complet est \Appy\PageModule\ListModel. On ne pouvait pas utiliser "List" à cause de la fonction du même nom.
- Les noms des fonctions pour les actions change du format "admin_action"/"public_action" vers actionAdmin/actionPublic
- _set_table_form devient setTableForm
- _set_edit_form devient setEditForm
- Les appels de $this->_set() deviennent $this->set(). Note que _set est encore supporté mais déprécié
Renommer les répertoires/fichiers
for i in mod*; do iname=${i##mod}; mv $i ${iname^}Module; done for i in *Module/index.php; do mv $i ${i%%index.php}Controller.php; done for i in *Module/List.php; do mv $i ${i%%List.php}ListModel.php; done
Vim Replace (index.php)
%s/class \(.\+\)_index/class Controller/g %s/function admin_\(.\+\)(/function \1Admin(/g %s/function public_\(.\+\)(/function \1Public(/g %s/_set_table_form/setTableForm/g %s/_set_edit_form/setEditForm/g %s/$this->_set(/$this->set(/g
Autre
upgradecontroller.sh app/core/index.php app/core/admin.php app/config*/system.php (default_controller, rewritezones) app/modAbstract/Item.php (getPrimaryKey/isValidPrimaryKey)
Dernière modification: 2018-09-15 16:22:29 par Yan Morin
Hébergé par ProgYSM