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



我在同一页面上使用两个库。一个用于 pdf 生成,一个用于发送电子邮件。但是,这给了我错误 500 - llease 建议。

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

require_once 'lib/dompdf/vendor/autoload.php';
use PHPMailerPHPMailerPHPMailer; 
use PHPMailerPHPMailerException; 
require 'lib/phpmailer/vendor/autoload.php'; 

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

通过使用别名:

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

我认为您的代码中的问题是重复的自动加载器。最好的方法是在作曲家上安装两个包并使用作曲家自动加载器。

在这两个库中,您可以找到如何在作曲家上安装它们的示例。

composer require dompdf/dompdf
composer require phpmailer/phpmailer

然后,您必须包含作曲家的自动加载器。

require 'vendor/autoload.php';

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

https://github.com/dompdf/dompdf

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

最新更新