Composer - это менеджер зависимостей, который используется в PHP для управления пакетами и зависимостями для PHP-приложений, а также для создания собственных пакетов.
В этой статье мы рассмотрим, как создать свой собственный пакет с помощью Composer.
Шаг 1: Установка Composer
Ставим composer на свой локальный ПК. Если composer уже установлен, то переходим к следующему шагу.
Шаг 2: Создание пустого проекта
Создайте пустой каталог для проекта и перейдите в него. Затем выполните следующую команду для создания пустого проекта:
composer init
При выполнении этой команды Composer попросит ввести некоторую информацию о проекте, такую как название проекта, его описание, имя автора, лицензию и т.д.
Шаг 3: Создание пакета
Создайте каталог для вашего пакета и перейдите в него. Затем создайте файл `composer.json` в корне пакета и добавьте в него следующее содержимое:
{
"name": "your-vendor-name/your-package-name",
"description": "Description of your package",
"type": "library",
"license": "MIT",
"autoload": {
"psr-4": {
"YourVendorName\\YourPackageName\\": "src/"
}
},
"authors": [
{
"name": "Your Name",
"email": "you@example.com"
}
],
"require": {
"php": "^7.1"
}
}
- `name` - имя пакета в формате `your-vendor-name/your-package-name`.
- `description` - описание вашего пакета.
- `type` - тип пакета в Composer. В данном случае это `library`.
- `autoload` - указывает на то, как Composer должен автозагружать классы из вашего пакета.
- `authors` - список авторов вашего пакета.
- `require` - список зависимостей вашего пакета. В данном случае это PHP версии `^7.1`.
Шаг 4: Создание своих классов
Создайте подкаталог `src/` в корне пакета и создайте там свои классы. Например, мы создадим класс `HelloWorld` для нашего пакета:
// file: src/HelloWorld.php
namespace YourVendorName\YourPackageName;
class HelloWorld
{
public function greet(string $name): string
{
return "Hello, $name!";
}
}
Шаг 5: Загрузка пакета
После создания пакета и классов нужно добавить пакет в глобальный репозиторий. Для этого можно использовать Packagist. Нужно зарегистрироваться на нем через вкладку submit и ознакомится с условиями использования. Затем нажать на кнопку submit, и на Packagist будет зарегистрирован ваш пакет.
Шаг 6: Установка пакета
Установить пакет можно с помощью команды:
composer require your-vendor-name/your-package-name
Шаг 7: Использование пакета
Использовать классы вашего пакета достаточно просто. В PHP-скрипте, который использует ваш пакет, нужно просто создать объект вашего класса и вызвать его метод:
require 'vendor/autoload.php';
use YourVendorName\YourPackageName\HelloWorld;
$hello = new HelloWorld();
echo $hello->greet('John');
Заключение
Теперь у вас есть свой собственный пакет, который можно использовать в ваших PHP-приложениях. Благодаря использованию Composer стало гораздо проще управлять зависимостями в PHP-проектах и создавать собственные пакеты для использования в других проектах.