Heim > Fragen und Antworten > Hauptteil
Bibliotheken von Drittanbietern werden häufig bei der Thinkphp-Entwicklung verwendet. Normalerweise lege ich die Klassenbibliotheken von Drittanbietern im Verzeichnis Application/Codebase/ ab. Da viele Bibliotheken von Drittanbietern keine Namespaces haben, möchte ich Namespaces nicht einzeln hinzufügen. Wie lade ich die Klassenbibliotheksdatei in das Codebase-Verzeichnis?
Zum Beispiel die Verzeichnisstruktur meines TP-Projekts
Ich möchte die Datei class.phpmailer.php (ohne Namespace) unter CodebasephpMailer laden. Was soll ich tun, um sie automatisch zu laden?
Ich habe das Handbuch zur Verwendung der Klassenbibliothekszuordnung gelesen. Ich habe in commonconf eine neue alias.php erstellt, der Code lautet wie folgt
return array(
'Codebase\phpMailer' => APP_PATH.'/Codebase/phpMailer/class.phpmailer.php',
);
Dann habe ich $obj=new CodebasephpMailerPHPMailer();
im IndexcontrollerFehler: Klasse „CodebasephpMailerPHPMailer“ nicht gefunden
Wie gehe ich damit um? Es gibt noch eine weitere Frage: Die Fehlermeldung zum Laden der Klasse wird in der Regel angezeigt. Woher weiß ich, in welcher Datei nach der Klasse gesucht wird, sodass die Fehlerbehebung schwierig ist?
typecho2017-06-27 09:19:46
在引入的文件中加个命名空间
namespace Codebase\Phpmailer;
使用的时候就
use Codebase\Phpmailer\Phpmailer;
请注意你的首字母大小写,以及不是class.phpmailer.php,而是Phpmailer.class.php