Utilisation de spl_autoload_register dans un plugin

Bonjour,

Pour ce nouveau plugin je souhaite uilisée une libraire qui lie les qr code.
Cette librairie php charge toutes ses class visiblement comme ceci
C’est quelque chose que je ne connais pas trop et je ne sais pas comment l’integrer

spl_autoload_register(function (string $class) {
    $path      = explode('\\', $class);
    $className = array_pop($path);
    array_shift($path);
    $path = strtolower(implode('/', $path));
    $path = __DIR__ . '/' . $path . '/' . $className . '.php';

    if (file_exists($path)) {
        require_once $path;
    }
});

Est ce que quelqu’un pourrait m’aidée avec ce chargement

Personne n’utilise se genre d’appel
@loic j’ai vue que cette fonction etait utilisé dans le core a tu une idée de comment je doit l’ajouté?
J’ai essayer un import manuel de toutes les class et ca plante jeedom j’ai du faire un boulette

C’est compliqué mais en gros ca appels la fonction que tu as defini quand une class n’est pas chargé avec en parametre la class et dans la fonction tu fais le requiere.

J’ai bien compris que ca chargeai les class de la library, mais je ne trouve pas quand est ce que cette fonction est appelé.
J’ai mis ce code en debut de ma class du plugin pour qu’elle soit charger a l’appel de cette class mais ca ne fonctionne pas et je pense quel n’est pas bien placé puisque la lib est utilisé dans un deamon

A ben non faut le mettre ailleurs tu peux pas dire dans le fichier de class voici comment charger ma class… Tu as des exemples la si tu veux https://github.com/jeedom/core/blob/alpha/core/php/core.inc.php c’est le 1er fichier chargé partout par jeedom

Je pense mettre mal exprimer.
La class du plugin est charger par le core
Si j’ajoute cette fonction, pour le chargement des class de la lib que je veux utilisé, au début de mon ficher de class de mon plugin ca ne se charge pas ou c’est du moin pas dispo dans mon demon

<?php
/* * ***************************Includes********************************* */
require_once dirname(__FILE__) . '/../../../../core/php/core.inc.php';
//Charquement de la librairie qrReader
//include_file('core', 'include', 'php', 'QRacces');
spl_autoload_register(function (string $class) {
    $path      = explode('\\', $class);
    $className = array_pop($path);
    array_shift($path);
    $path = strtolower(implode('/', $path));
    $path = __DIR__ . '/' . $path . '/' . $className . '.php';

    if (file_exists($path)) {
        require_once $path;
    }
});
class QRacces extends eqLogic {	

A ben met des logs la pour voir si le path est bien calculé

En fait j’ai fait autrement.
J’ai cree un fichier include out j’ai mis tous me require_once (dans le bonne ordres) et que je charge au debut de ma class

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.