3

我正在使用 laravel 5 并尝试集成以下软件包:exacttarget/fuel-sdk-php

我在我的项目上执行:

composer require exacttarget/fuel-sdk-php

所以我在我的供应商目录中找到了确切的目标提供者。

首先我注意到这个特定的包不使用命名空间,所以它仍然调用 require 指令而不是“使用 \path\namespace” 这是一个正确的方法吗?我还没有看到很多包,但是在我过去的经验中,我认为编写包的方法并不正确......

在此之后,我编辑 condif/app.php 以使用 ET_Client 类。

 'providers' => [
 ...
 'ET_Client',
 ...

],

一旦我这样做了,我得到了一个错误:看起来 Laravel frmwk 试图实例化这个类,需要一些参数才能工作,即使我还没有使用它(实例化)。这是 Laravel 的正常行为吗?

我错过了什么吗?

4

1 回答 1

2

providers数组用于注册服务提供者类。除非ET_Client扩展 Laravel 的基ServiceProvider类,否则它不会工作。

相反,只需在use需要使用该类时将这些语句添加到您的 PHP 类中:

<?php

namespace App\Http\Controllers;

use ET_Client;

class SomeController extends Controller
{
    public function someAction()
    {
        // Instantiate client class
        $client = new ET_Client;

        // Now do something with it...
    }
}
于 2015-08-06T15:00:10.647 回答