在 php class 中使用 php 邮件程序名称 class

use phpmailer nameclass in php class

我想在 php class 使用 phpmailer,我应该在 class 的什么地方放置默认的 phpmailer 命名空间行?

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

我的class:


require('./phpmailer/vendor/autoload.php');

class Email {

public function sent(){

}
}

谢谢!

通常在文件中的任何其他内容之前,如下所示:

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

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

class Email {

    public function sent(){

    }
}

虽然我在这里,但这是可疑的:

require('./phpmailer/vendor/autoload.php');

您似乎正在加载 PHPMailer 自己的自动加载器,您不应该靠近它。典型的项目结构(例如 PHPMailer 提供的所有示例)类似于:

/project
  /public
    index.php
  /app
    (app files go here)
  /vendor
    autoload.php
    /composer
    /phpmailer

请注意,自动加载程序不在 PHPMailer 自己的文件夹中。在这种结构中,从 publicapp 文件夹中的脚本到自动加载器的路径将是:

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

可能是因为你调用了你自己的项目,所以我在这里被抛弃了 phpmailer,但我想我会标记它,因为它看起来很奇怪。