Я просто создавал один из своих первых пакетов PHP, используя Composer, и я попал в проблему.Пакет композитора: AutoLoad и расширение другого пакета
В настоящее время я работаю на пакете, что его главный класс расширяет класс из другого пакета, поэтому на моем composer.json
Я пакет я EXTENDING объявленный как требование:
"require": {
"php": ">=5.3.0",
"ext-mbstring": "*",
"author/BasePackage": "dev-master"
},
И, Если я выдаю composer update
, я получаю хороший каталог vendor
внутри моего проекта с загруженной зависимостью author/BasePackage
.
Так что мой вопрос, на мой основной файл класса src\Extended.php
мне нужно вручную делать что-то вроде require_once __DIR__ . "/../vendor/autoload.php";
, чтобы автозагрузку BasePackage
так что я могу сделать class Extended extends \BasePackage\BasePackage
.
Это нормально? Как я должен загружать зависимости пакета? Когда я передаю этот пакет GitHub или так, я игнорирую каталог vendor
, и если кто-то использует его, требуя его для своих проектов, то require_once __DIR__ . "/../vendor/autoload.php";
потерпит неудачу, потому что он не будет там, где я ожидал.
Как мне это сделать?
спасибо.