Как создать свой первый композиторский пакет? 🐘


Что такое Composer?

Composer — это менеджер пакетов для PHP. Как и npm для Node.js и bundler для Ruby, он выполняет аналогичную роль. Он использует JSON-файл для сбора метаданных о проекте и его зависимостях.

Что такое Packagist?

Packagist — это централизованный репозиторий Composer, где любой желающий может зарегистрировать пакеты. Он объединяет публичные PHP-пакеты, устанавливаемые с помощью Composer. В настоящее время Packagist содержит почти 350 000 пакетов.

У вас нет учетной записи?

Перейдите на packagist.org и нажмите Создать учетную запись.

1. Создайте проект

  • Создайте папку с именем nullthrows.
mkdir nullthrows
Войдите в полноэкранный режим Выйти из полноэкранного режима

2. Инициализировать проект как пакет композитора

  • В этом процессе вам будет задан ряд вопросов, таких как название пакета, имя автора, описание, минимальная стабильность, лицензия и т.д.
composer init
Вход в полноэкранный режим Выйти из полноэкранного режима

  • В результате этого процесса будет создан файл composer.json.

3. Создайте файл с именем nullthrows.php с этим содержимым в папке src:

<?php

/**
 * @param mixed $value
 * @param string $message
 *
 * @return mixed
 * @throws Exception
 */
function nullthrows($value, string $message = null) {
    if ($value !== null) {
        return $value;
    }

    throw new Exception($message ?: 'Got unexpected null value.');
}
Вход в полноэкранный режим Выход из полноэкранного режима

4. Добавьте файлы в автозагрузку в composer.json

{
    "name": "dobron/nullthrows",
    "autoload": {
        "files": [
            "src/nullthrows.php"
        ],
        "psr-4": {
            "dobron\": "src/"
        }
    },
    "authors": [
        {
            "name": "Richard Dobroň"
        }
    ],
    "require": {}
}
Войти в полноэкранный режим Выйти из полноэкранного режима

5. Создайте файл README.md (необязательно).

  • Вы должны дать краткое описание репозитория и его функций.

6. Зафиксируйте код в репозитории GitHub

git init
git add .
git commit -m "Initial commit"
git branch -M main
git remote add origin git@github.com:yourUsername/nullthrows.git
git push -u origin main
Войти в полноэкранный режим Выйти из полноэкранного режима

7. Отправить пакет

https://packagist.org/packages/submit

Вы сделали это!

Поздравляем, вы опубликовали свой первый пакет Composer!

Оцените статью
devanswers.ru
Добавить комментарий