Hello.
La 3.8 apporte sont lot de nouveautés et ....d'em.... (bon je vais rester polit )
voila jusqu'à présent avec mon IDE (Eclipse) quand je saisisai les premières lettres de ma classe (par exemple "jfac"), l'IDE me proposait les classes correspondantes (JFacebook, JFactory, ....), puis ensuite me trouvait les méthodes, etc...
Idem pour la doc, quand je plaçais le curseur sur JFactory::GetApplication par exemple, vu que l'IDE avait reconnu toutes les classes et méthodes du projet, il pouvait m'afficher les commentaires normalisés, si la méthode était deprecated, etc...
D'un clic on arrivait aussi à ouvrir le fichier correspondant, sur la méthode correspondante.
Bref on arrivait à bosser, avec une certaine "productivité" !
Avec la 3.8, je constate que les principales classes statiques J... du framework sont renommées dynamiquement sans le J, avec des espaces de noms.
Avant, un JFactory::... allait chercher cherche la classe JFactory en /librairies/joomla/factory.php.
...mais ca c'était avant !
En version 3.8, un Jfactory::GetApplication va chercher la classe Factory (elle a perdu le J en préfixe en cours de route) dans /librairies/src/Factory.php (avec definition d'un namespace Joomla\CMS).
Du coup actuellement nos IDE ne connaissent plus ces classes, et pire sous la dernière version (Eclipse Oxygen), la ligne est même marquée en erreur avec le message "JFactory cannot be resolved to a type."
alors, faut-il placer systématiquement le namespace devant l'appel, virer le J et changer tous nos appels ?
Par exemple modifier :
en
Voici la seule info que j'ai pu trouver sur l'usage des "namespace".
La 3.8 apporte sont lot de nouveautés et ....d'em.... (bon je vais rester polit )
voila jusqu'à présent avec mon IDE (Eclipse) quand je saisisai les premières lettres de ma classe (par exemple "jfac"), l'IDE me proposait les classes correspondantes (JFacebook, JFactory, ....), puis ensuite me trouvait les méthodes, etc...
Idem pour la doc, quand je plaçais le curseur sur JFactory::GetApplication par exemple, vu que l'IDE avait reconnu toutes les classes et méthodes du projet, il pouvait m'afficher les commentaires normalisés, si la méthode était deprecated, etc...
D'un clic on arrivait aussi à ouvrir le fichier correspondant, sur la méthode correspondante.
Bref on arrivait à bosser, avec une certaine "productivité" !
Avec la 3.8, je constate que les principales classes statiques J... du framework sont renommées dynamiquement sans le J, avec des espaces de noms.
Avant, un JFactory::... allait chercher cherche la classe JFactory en /librairies/joomla/factory.php.
...mais ca c'était avant !
En version 3.8, un Jfactory::GetApplication va chercher la classe Factory (elle a perdu le J en préfixe en cours de route) dans /librairies/src/Factory.php (avec definition d'un namespace Joomla\CMS).
Du coup actuellement nos IDE ne connaissent plus ces classes, et pire sous la dernière version (Eclipse Oxygen), la ligne est même marquée en erreur avec le message "JFactory cannot be resolved to a type."
alors, faut-il placer systématiquement le namespace devant l'appel, virer le J et changer tous nos appels ?
Par exemple modifier :
Code PHP:
JFactory::getApplication();
Code PHP:
Joomla\CMS\Factory::getApplication();
Commentaire