Maison  >  Questions et réponses  >  le corps du texte

php - Problème TP3.2 lors du chargement de bibliothèques tierces

Les bibliothèques tierces sont souvent utilisées dans le développement de thinkphp. Je place généralement les bibliothèques de classes tierces dans le répertoire Application/Codebase/. Étant donné que de nombreuses bibliothèques tierces n'ont pas d'espaces de noms, je ne souhaite pas ajouter d'espaces de noms un par un. Comment charger le fichier de bibliothèque de classes dans le répertoire Codebase ?
Par exemple, la structure du répertoire de mon projet tp

Je souhaite charger le fichier class.phpmailer.php (sans espace de noms) sous CodebasephpMailer. Que dois-je faire ? Il est préférable de le charger automatiquement.
J'ai lu le manuel pour utiliser le mappage de bibliothèque de classes. J'ai créé un nouvel alias.php dans commonconf, le code est le suivant

return array(    
    'Codebase\phpMailer'        =>    APP_PATH.'/Codebase/phpMailer/class.phpmailer.php',    
    );

Ensuite, je $obj=new CodebasephpMailerPHPMailer();

dans indexcontroller

Erreur : Classe 'CodebasephpMailerPHPMailer' introuvable
Comment y remédier ? Il y a une autre question. Le message d'erreur de chargement de classe dans TP affiche généralement cette erreur. Comment savoir dans quel fichier la classe est recherchée. Je ne vois pas les informations de chemin spécifiques, il est donc difficile de résoudre le problème.

黄舟黄舟2693 Il y a quelques jours872

répondre à tous(1)je répondrai

  • typecho

    typecho2017-06-27 09:19:46

    在引入的文件中加个命名空间
    namespace Codebase\Phpmailer;
    
    使用的时候就
    use Codebase\Phpmailer\Phpmailer;
    
    请注意你的首字母大小写,以及不是class.phpmailer.php,而是Phpmailer.class.php

    répondre
    0
  • Annulerrépondre