Yii2框架中的软件包安装错误?

时间:2018-05-24 06:24:34

标签: yii2 phpmailer phpspreadsheet phpoffice

我需要使用 PHPOffice / PhpSpreadsheet 来安装 PhpSpreadsheet 我跟着this链接。

所以我通过运行命令

使用'composer'将 PhpSpreadsheet 安装到我的项目中
composer require phpoffice/phpspreadsheet

在安装时命令提示符处说

Using version dev-master for phpoffice/phpspreadsheet

并且安装成功(FYI检查截图),安装后我尝试登录我的应用程序时,我收到了不同的错误

Cannot redeclare PHPMailerAutoload() 

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

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

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

顺便说一下,我在Yii2框架上构建我的应用程序,而且我对Yii2框架很新。

任何人都可以告诉我,如何解决这个问题?感谢。

enter image description here

1 个答案:

答案 0 :(得分:2)

您不必对通过composer安装的软件包使用require。 Yii autoload's feature将照顾到这一点。您只需在代码中编写适当的use语句即可。实际上,the mailer is a component declared into the main app,所以你根本不需要使用use语句

Yii::$app->mailer->compose('/my/mail_view', ['model' => $model])
                ->setFrom([Yii::$app->params['myMail'] => 'My Name'])
                ->setTo($model->email)
                ->setSubject('My subject')
                ->send();