0

我需要使用PHPOffice/PhpSpreadsheet来安装PhpSpreadsheet我按照这个链接。

所以我通过运行命令使用'composer'将PhpSpreadsheet安装到我的项目中

composer require phpoffice/phpspreadsheet

在安装时在命令提示符下说

Using version dev-master for phpoffice/phpspreadsheet

并已成功安装(仅供参考,请检查屏幕截图),安装后当我尝试登录我的应用程序时,我收到一个不同的错误

Cannot redeclare PHPMailerAutoload() 

(之前声明在“我正在使用 'phpmailer' 的电子邮件中,包括路径为

require_once('../vendor/phpmailer/PHPMailerAutoload.php');

因为我的“PHPMailer”文件夹位于 Yii2 框架的“vendor”文件夹中。

顺便说一句,我正在 Yii2 框架上构建我的应用程序,我对 Yii2 框架非常陌生。

谁能告诉我,如何解决这个问题?谢谢。

在此处输入图像描述

4

1 回答 1

2

您不必对通过 composer 安装的包使用 require。Yii 的自动加载功能会解决这个问题。您只需在代码中编写适当的使用语句。实际上,邮件程序是在主应用程序中声明的组件,因此您根本不需要 use 语句

Yii::$app->mailer->compose('/my/mail_view', ['model' => $model])
                ->setFrom([Yii::$app->params['myMail'] => 'My Name'])
                ->setTo($model->email)
                ->setSubject('My subject')
                ->send();
于 2018-05-24T06:35:20.303 回答