Как интегрировать в Laravel 5 пакет от Packagist?

Я работаю с Laravel 5 и пытаюсь интегрировать следующий пакет: suretarget/fuel-sdk-php

Я выполнил на моем проекте:

composer require exacttarget/fuel-sdk-php

Таким образом, у меня был на моем поставщике dir точный целевой поставщик.

Во-первых, я заметил, что этот конкретный пакет не использует пространства имен, поэтому он по-прежнему вызывает директивы require, а не "use \path\namespace". Это правильный подход? Я еще не видел много пакетов, но среди моего прошлого опыта мне не кажется правильным подход к написанию пакета...

После этого я редактирую condif/app.php, чтобы использовать класс ET_Client.

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

],

Как только я сделал это, я получил ошибку: похоже, что Laravel frmwk пытается создать экземпляр класса, которому нужны некоторые параметры, даже если я его еще не использую (istantiating). Это нормальное поведение от Laravel?

Я что-то пропустил?

1 ответ

Решение

providers Массив для регистрации классов поставщиков услуг. Если не ET_Client расширяет базу Ларавела 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...
    }
}
Другие вопросы по тегам