Documentation sur les classes Joomla 6 ?

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Documentation sur les classes Joomla 6 ?

    Bonjour,

    Curieux, j'ai installé en local la version alpha-dev de J6 pour y tester d'abord LazyDbBackup et LdbChecker qui ne m'ont pas semblé poser de problème, puis Joaktree 2 que j'essaie de convertir à J4/J5.
    Et curieusement, j'ai des erreurs incompréhensibles avec Joaktree : d'abord, si j'active l'option d'utilisation de cookies, un premier message s'affiche sur la page de liste des individus (mais aussi sur d'autres), en lien avec la déclaration "use" correspondante qui est parfaitement comprise en J5
    0 Class "Joomla\CMS\Input\Cookie" not found
    Sur une autre page, c'est JLoader::import qui génère une erreur
    0 Class "Joomla\Input\JLoader" not found
    Si je supprime l'utilisation des cookies, les erreurs les concernant disparaissent, il reste celle de JLoader, que le plugin de compatibilité encore présent dans cette version J6 soit ou non activé.

    Je croyais avoir compris que les classes et fonctions J5 (sans activation du plugin de compatibilité), seraient conservées, or ces messages d'erreur l'infirment.
    Mais dans les versions 4.4.6, 5.1.2 et 6.0alpha1-dev, entre 220 et 280 fichiers environ comportent la mention (pour 4.3, 4.4 ou 5.0) :
    * @deprecated x.y will be removed in 6.0
    Ce qui veut donc dire que pour un site actuellement pleinement compatible J5 sans compatibilité activée, pour être compatible J6 il faudra remplacer certaines de ces fonctions, mais d'autres sont dites non pas dépréciées mais carrément supprimées.

    Y aurait-il une doc sur l'évolution de ces classes et fonctions et quoi remplacer par quoi ?
    Car quand je vois dans loader.php par exemple
    Code PHP:
     * @deprecated  4.3 will be removed in 6.0
     
    *              Classes should be autoloaded. Use JLoader::registerPrefix() or JLoader::registerNamespace() to
     
    *              register an autoloader for your files.
     */
    function 
    jimport($path$base null)
    {
        return 
    JLoader::import($path$base);
    }
    ​ 

    ça ne me dit pas pourquoi un JLoader::import dans un fichier deJ5 n'est plus supporté puisque c'et utilisé ici pour remplacer la fonction jimport()
    Cela veut-il dire que je dois remplacer
    JLoader::import('helper.tree', JPATH_COMPONENT);
    par
    JLoader::registerNamespace('helper.tree', JPATH_COMPONENT);
    Mais ça ne change rien, j'ai toujours l'erreur
    0 Class "Joomla\Input\JLoader" not found
    Merci de vos conseils !
    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

  • #2
    Bonjour,

    Au niveau des appels JLoader, essaies d'ajouter un \ devant JLoader et ne mets pas de use pour cette classe.

    Par exemple, dans administrator/components/com_categories/src/Model/CategoriesModel.php, tu as un appel (en J! 6) en ligne 440 :

    Code:
    \JLoader::register($hname, JPATH_SITE . '/components/' . $component . '/helpers/association.php');
    Concernant le plugin de compatibilité, la décision ne semble pas encore prise : https://manual.joomla.org/migrations.../compat-plugin

    Mais, j'ai trouvé un article au niveau performance : https://www.itoctopus.com/a-quick-gu...abling-plugins

    Pascal
    If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

    Commentaire


    • #3
      PS : personnellement, j'attends un peu pour tester Joomla! 6.0 qui n'est encore qu'en alpha, donc qui peut encore évoluer avec l'ajout, la suppression de fonctionnalité. Joomla! 6.0 n'est prévu qu'en octobre 2025, donc, on aura tout l'été 2025 pour faire cela

      Pascal
      If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

      Commentaire


      • #4
        Merci Pascal !

        Oui mais non, car comme tu as dû le voir, je tente désespérément, faute d'autres candidats bien plus affutés que moi, de migrer Joaktree de J3 en J4 et plus, et tant qu'à faire, autant essayer de me passer, si j'en suis capable, de ce qui sera déprécié en J6 (annoncé dans les fichiers actuels de J4 et J5).

        Mais pour le moment, c'est surtout le JavaScript qui m'enquiquine et me bloque, donc si j'arrivais à remplacer tout ce qui sera déprécié en J6, il resterait ces blocages et je me demande si de la doc sur JQuery ou Bootstrap me donnerait les clés pour convertir des scripts intégrés dans certains fichiers et qui ont probablement été initialement écrits pour Mootools, mais qui fonctionnent pourtant en J3.
        "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
        MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

        Commentaire


        • #5
          (au cas où l'info ne serait pas claire : si une extension fonctionne sur Jomla 5 SANS le plugin de rétro-compatiblité, elle est déjà compatible Joomla 6)
          Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

          Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

          Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

          Commentaire


          • #6
            Merci Marc, mais alors ce n'est pas clair :
            * @deprecated x.y will be removed in 6.0
            Si c'est déjà déprécié sous J4 et J5 et que ça doit être supprimé en 6.0, comment pourrait-on encore utiliser ces fonctions en J6 ?
            "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
            MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

            Commentaire


            • #7
              OK, juste aussi
              Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

              Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

              Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

              Commentaire


              • #8
                Dans la version actuelle de la 6 (le pack décompressé), 497 résultats dans 265 fichiers, me dit une recherche avec notepad++ sur "will be removed in 6.0". Il va y avoir du ménage, car il y a des "will be removed without replacement" en plus des fonctions à remplacer.
                Et il y a aussi déjà des "will be removed in 7.0".
                "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                Commentaire


                • #9
                  Bonjour,

                  Quand on voit ceci dans les fichiers d'une version 5.2.0 :
                  libraries\src\Input\Cookie.php
                  : 23 * @deprecated 4.3 will be removed in 6.0.
                  : 24 * Use Joomla\Input\Cookie instead
                  : 25 */
                  : 26 class Cookie extends Input
                  : -------------
                  : 36 * @deprecated 4.3 will be removed in 6.0.
                  : 37 * Use Joomla\Input\Cookie instead
                  : 38 */
                  : 39 public function __construct(array $source = null, array $options = [])
                  : -------------
                  : 73 * @deprecated 4.3 will be removed in 6.0.
                  : 74 * Use Joomla\Input\Cookie instead
                  : 75 */
                  : 76 public function set($name, $value, $options = [])
                  : -------------​
                  on comprend que "use Joomla\CMS\Input\Cookie;" et "new Cookie" ne pourront plus être utilisés, et d'ailleurs, dans un pack 5.2, je ne trouve "new Cookie" que dans un fichier d'authentification, nulle part ailleurs, et associé à
                  use Joomla\Plugin\Authentication\Cookie\Extension\Cook ie;
                  On retrouve ce fichier en J6, mais une recherche de "Joomla\Input\Cookie" qui est conseillé ne donne aucun résultat dans J6 alpha ?

                  Que faire des "$cookie = new Cookie();" ?
                  Merci !
                  "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                  MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                  Commentaire

                  Annonce

                  Réduire
                  Aucune annonce pour le moment.

                  Partenaire de l'association

                  Réduire

                  Hébergeur Web PlanetHoster
                  Travaille ...
                  X