在Symfony中使用库

时间:2018-11-28 00:03:09

标签: php symfony mandrill php-7.2

我正在尝试将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中包括它。

1 个答案:

答案 0 :(得分:2)

如果要从根名称空间访问类名,则需要在其前面加上反斜杠:

new \Mandrill(...)

参考文献: