Содержание
- Что такое Composer?
- Что такое Packagist?
- У вас нет учетной записи?
- 1. Создайте проект
- 2. Инициализировать проект как пакет композитора
- 3. Создайте файл с именем nullthrows.php с этим содержимым в папке src:
- 4. Добавьте файлы в автозагрузку в composer.json
- 5. Создайте файл README.md (необязательно).
- 6. Зафиксируйте код в репозитории GitHub
- 7. Отправить пакет
- Вы сделали это!
Что такое 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!