在自定义 magento 2 模块中使用外部 php 库的最简单方法是什么?
What is the simplest way to use an external php library in a custom magento 2 module?
我是 magento 的新手,我目前正在为 magento2 开发自定义模块,我想在块文件中使用外部 php 库 (PHPMailer)。
我的项目文件结构:
模块文件夹
---等等
.
.
---块
------ Main.php
---库
-------- PHPMailer
.
.
我试图在我的块 main.php 中包含 PHPMailer class 使用:
require_once(__DIR__."/../lib/PHPMailer/src/PHPMailer.php");
对于 class 我使用的声明:
$mail = new PHPMailer();
我还尝试将 PHPMailer 库包含在 Block 文件夹中,但没有任何效果
它总是 returns :
PHPMailer class is not found in /...../Block/Main.php
当我尝试将 PHPMailer.php 直接放入 Block 文件夹时,如下所示:
---阻止
-----Main.php
-----PHPMailer.php
并包括
require_once(__DIR__."/PHPMailer.php");
it returns: 无法在 Main.php 中声明 PHPMailer class 因为该名称已在 PHPMailer.php
中使用
我从 github 安装了最新版本的 PHPMailer:https://github.com/PHPMailer/PHPMailer
我决定使用它,因为它非常简单明了。
那么我该如何使用这个库,最好的方法是什么?
谢谢!
Magento 2 使用 Composer as a first class citizen. You should use Composer to install PHPMailer as well: https://github.com/PHPMailer/PHPMailer#installation--loading
构建
composer require phpmailer/phpmailer
这意味着 PHPMailer class 自动加载由 Composer 负责,您可以立即在项目代码中使用它:
$mail = new \PHPMailer\PHPMailer\PHPMailer();
我是 magento 的新手,我目前正在为 magento2 开发自定义模块,我想在块文件中使用外部 php 库 (PHPMailer)。
我的项目文件结构:
模块文件夹
---等等
.
.
---块
------ Main.php
---库
-------- PHPMailer
.
.
我试图在我的块 main.php 中包含 PHPMailer class 使用:
require_once(__DIR__."/../lib/PHPMailer/src/PHPMailer.php");
对于 class 我使用的声明:
$mail = new PHPMailer();
我还尝试将 PHPMailer 库包含在 Block 文件夹中,但没有任何效果
它总是 returns :
PHPMailer class is not found in /...../Block/Main.php
当我尝试将 PHPMailer.php 直接放入 Block 文件夹时,如下所示:
---阻止
-----Main.php
-----PHPMailer.php
并包括
require_once(__DIR__."/PHPMailer.php");
it returns: 无法在 Main.php 中声明 PHPMailer class 因为该名称已在 PHPMailer.php
中使用我从 github 安装了最新版本的 PHPMailer:https://github.com/PHPMailer/PHPMailer
我决定使用它,因为它非常简单明了。
那么我该如何使用这个库,最好的方法是什么?
谢谢!
Magento 2 使用 Composer as a first class citizen. You should use Composer to install PHPMailer as well: https://github.com/PHPMailer/PHPMailer#installation--loading
构建composer require phpmailer/phpmailer
这意味着 PHPMailer class 自动加载由 Composer 负责,您可以立即在项目代码中使用它:
$mail = new \PHPMailer\PHPMailer\PHPMailer();