关于php:无法在zend Framework 2中包含PHPMailer

unable to include PHPMailer in zend framework 2

我们有将PHPMailerAutoload.php文件包含在我们的php文件中的代码,以便使用PHPMailer发送邮件。.

1
require"PHPMailerAutoload.php";

然后

1
$mail = new PHPMailer;

但是该语法在zend framework2文件中不可接受,它表示为"致命错误"和"未找到类"。
我试图将PHPMailer移到zf2的库文件夹中


vendor/中添加或编辑内容几乎不是一个好主意-让Composer管理此文件夹。根据我的评论,我建议您改用composer安装PHPMailer,只需添加:

1
"phpmailer/phpmailer":"~5.2",

转到composer.json的\\'require \\'部分,然后运行composer install。这也是PHPMailer的自述文件中建议的安装方法。

您添加到问题中的错误与PHP找不到自动加载包含文件有关。如果切换到Composer,则根本不需要此文件,因此只需删除您的require行。

可能要实例化您需要使用的类:

1
$mail = new \\PHPMailer;

(请注意反斜杠),因为ZF2类通常在开始时声明一个名称空间。反斜杠告诉PHP它应该从全局命名空间中获取PHPMailer类。