如何在同一页面php上使用两个“ use”关键字

时间:2019-11-23 18:28:48

标签: php phpmailer

我正在同一页面上使用两个库。一种用于pdf生成,一种用于发送电子邮件。但是,这给我带来了500条错误-请咨询。

经过调试后,我发现由于dompdf,phpmailer邮件无法正常工作:

require_once 'lib/dompdf/vendor/autoload.php';
use PHPMailer\PHPMailer\PHPMailer; 
use PHPMailer\PHPMailer\Exception; 

require 'lib/phpmailer/vendor/autoload.php'; 


use Dompdf\Dompdf;
class Pdf extends Dompdf{
public function __construct(){
 parent::__construct();
 }
}

2 个答案:

答案 0 :(得分:1)

我认为您代码中的问题是重复的自动加载器。最好的方法是通过composer安装两个软件包并使用composer自动加载器。

在两个库中,您都可以找到一个示例,了解如何通过composer安装它们。

composer require dompdf/dompdf
composer require phpmailer/phpmailer

然后,您必须包括用于作曲家的自动装带器。

require 'vendor/autoload.php';

之后,您可以使用自动加载器加载所有软件包。在DomPDF中,您可以找到很好的用法示例。

https://github.com/dompdf/dompdf

500个错误很难找到。您应该启用错误日志并直接检查日志。在日志中应显示php错误。

答案 1 :(得分:1)

通过使用别名:

use \PHPMailer\PHPMailer\{PHPMailer as mailerClass, Exception as mailerException}; // PHP 7+