Автозагрузка Vendor с CakePHP v3.x и Composer

Я пытаюсь загрузить это в свое приложение CakePHP 3.x. Я совершенно не знаю, как я могу сделать это с композитором. Я уже включил другие файлы с композитором, но эта оболочка, похоже, не поддерживает его.

Итак, как мне:

  • Сделайте это с помощью Composer
  • Вручную загрузите поставщика в 3.x

Все явно изменилось с версии 2.x :(

Любые указатели, пожалуйста?


person Deej    schedule 05.06.2015    source источник
comment
возможный дубликат Как заставить композитор установить некомпозиторский пакет?   -  person ndm    schedule 05.06.2015


Ответы (1)


Ответ был у меня под носом, в документации по торту. .

Вручную потребовалась обертка:

define('VENDOR', ROOT . DS . 'vendor' . DS);
require(VENDOR . 'thoughtco' . DS . 'freeagent' . DS . 'Freeagent.php');

Затем модифицировал оболочку для использования пространства имен:

namespace Freeagent;

Затем создал экземпляр в моем компоненте.

use Freeagent\Freeagent;
...
public function __construct()
    {
        $this->client = new Freeagent('id', 'key');
    }

Работа сделана, может кому пригодится :)

person Deej    schedule 05.06.2015
comment
Изменение сторонних библиотек обычно является довольно плохой идеей, если только вы не решите поддерживать их самостоятельно. Первым выбором должен быть собственный репозиторий композитора. - person ndm; 05.06.2015
comment
Несмотря на это, библиотека не использовала пространство имен, и я не мог использовать его в 3.x без этого. Мне не нужно с уверенностью предлагать изменения на GitHub и т. Д. - все еще чувствую, что я всегда ошибаюсь - ха :) - person Deej; 08.06.2015
comment
Ему не нужно использовать пространства имен, чтобы его можно было использовать с CakePHP 3.x (только не забудьте нацелить на глобальное пространство имен). Если бы это было требованием, то вы больше не могли бы использовать какие-либо встроенные классы PHP, которые живут в глобальном пространстве имен. - person ndm; 08.06.2015
comment
Ошибка N00b - я недостаточно знал о пространстве имен - я мог заставить его работать, только добавив это. Попробую без. - person Deej; 15.06.2015