我正在尝试将Mandrill API与Symfony框架一起使用。我使用作曲家(composer require mandrill/mandrill
)安装了API。这会将库放置在/vendor
目录中,但是我在实际在服务中使用Mandrill
类时遇到了麻烦。
<?php
namespace App\Services;
use App\Services\Utilities;
class Email {
public function __construct($mandrill_api_key, Utilities $u){
$mandrill = new Mandrill($this->mandrill_api_key); // throws exception
}
}
我得到的错误如下:“试图从名称空间“ App \ Services”加载类“ Mandrill”。 您是否忘记了另一个名称空间的“使用”语句?”
很明显,它试图从Services名称空间加载Mandrill类。但是我需要该名称空间来加载Utilities
服务。
我尝试添加行use Mandrill\Mandrill
-以从供应商中的mandrill目录加载该mandrill类,但这会引发相同的名称空间错误,但适用于Mandrill名称空间。
API文档具有以下内容:
<?php
require_once 'mandrill-api-php/src/Mandrill.php'; //Not required with Composer
$mandrill = new Mandrill('YOUR_API_KEY');
?>
require_once
是我以前在php 5.x中包括该类的方式,但是我无法在symfony / php 7.x中包括它。
答案 0 :(得分:2)
如果要从根名称空间访问类名,则需要在其前面加上反斜杠:
new \Mandrill(...)
参考文献: