Maison > Questions et réponses > le corps du texte
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 indexcontrollerErreur : 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.
typecho2017-06-27 09:19:46
在引入的文件中加个命名空间
namespace Codebase\Phpmailer;
使用的时候就
use Codebase\Phpmailer\Phpmailer;
请注意你的首字母大小写,以及不是class.phpmailer.php,而是Phpmailer.class.php