Как добавить новый частный пакет/классы, отличные от git, в приложение PHP?

У меня есть небольшой пакет с 6-7 файлами (т.е. основной класс, расширяющие классы, интерфейс, который можно посмотреть в по этой ссылке), и я бы не хотел использовать метод require_once для соединения этих классов вместе.

Каким может быть правильный способ сделать это?

Попытки

Я попытался добавить их в каталог vendor с помощью композитора.

composer require our-new-package-private

и

composer require our-new-package-private ~1.0.0

Он возвращает ошибку:

  [InvalidArgumentException]                                                                                                                         
  Could not find a matching version of package equity-usco. Check the package spelling, your version constraint and that the package is available i  
  n a stability which matches your minimum-stability (stable). 

Вопросы

  • Нужно ли сначала отправить новый пакет в частный репозиторий GitHub, а затем запустить:

     composer require our-new-package-private
    
  • Каким может быть правильный способ решить эту проблему и добавить новый частный пакет или несколько скриптов в приложение на основе PHP? Может быть, я должен вручную определить его в autoload=>psr-0 или autoload=>psr-4 в composer.json?


person Emma    schedule 12.04.2019    source источник
comment
Ваш пакет находится в частном репозитории GitHub? Где это находится ?   -  person Maxime    schedule 13.04.2019
comment
В настоящее время невозможно использовать композитор для получения пакета во вложенной папке. github.com/composer/packagist/issues/472.   -  person Maxime    schedule 13.04.2019


Ответы (1)


В настоящее время по-прежнему невозможно создать пакет композитора из подпапки репозитория/ (Github Issue )

Вы можете перейти по этой ссылке на Packagist, чтобы создать свой собственный пакет.

Определите свой пакет

Поместите файл с именем composer.json в корень репозитория вашего пакета, содержащий следующую информацию:

{
    "name": "your-vendor-name/package-name",
    "description": "A short description of what your package does",
    "require": {
        "php": "^7.2",
        "another-vendor/package": "1.*"
    }
}

Это строго минимальная информация, которую вы должны предоставить.

Дополнительные сведения об именовании пакетов и полях, которые вы можете использовать для лучшего документирования своего пакета, см. на странице about.

Зафиксировать файл

Добавьте composer.json в свой git или другой репозиторий VCS и зафиксируйте его.

Опубликовать

Войдите или зарегистрируйтесь на (этом) сайте, затем нажмите кнопку отправки в меню.

[...]

person Maxime    schedule 13.04.2019