php – TP3.2-Problem beim Laden von Bibliotheken von Drittanbietern
黄舟
黄舟 2017-06-27 09:17:46
0
1
932

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 Indexcontroller

Fehler: 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?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

Antworte allen(1)
typecho
在引入的文件中加个命名空间
namespace Codebase\Phpmailer;

使用的时候就
use Codebase\Phpmailer\Phpmailer;

请注意你的首字母大小写,以及不是class.phpmailer.php,而是Phpmailer.class.php
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage