Composer - чрезвычайно популярный инструмент управления PHP-зависимостями, используемый для облегчения установки и обновления проектов. Он также проверяет, какие другие пакеты нужны проекту, и автоматически получает их для вас с правильной версией.
В этом документе мы установим и начнем использовать Composer на Vultr Ubuntu 14.04 VPS.
Требования
- A Vultr Ubuntu 14.04 VPS.
- Обычный пользователь с
Sudo
доступом к этому VPS.
Установка
Установка зависимостей
Прежде всего, мы должны убедиться, что на нашем VPS успешно установлены и работают все требования Composer.
Обновите список пакетов.
sudo apt-get update
Далее, фактически установите требования Composer. Вам понадобится как curl
для загрузки, так и php5-cli
для установки и использования. git
также используется Composer для загрузки требований проекта.
Установите требования.
sudo apt-get install curl php5-cli git
Загрузить и установить
Установка Composer очень проста.
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Это загружает и устанавливает Composer как глобальную команду, называемую composer
, расположенную в /usr/local/bin
. Вы получите этот вывод.
#!/usr/bin/env php
All settings correct for using Composer
Downloading...
Composer successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
Запустите следующее, чтобы проверить установку.
composer
Вывод будет следующим.
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.0-dev (9859859f1082d94e546aa75746867df127aa0d9e) 2015-08-17 14:57:00
Usage:
command [options] [arguments]
использование
Файл JSON
Чтобы использовать Composer, вам нужен файл, composer.json
который сообщает Composer, какие требования предъявляет ваш проект и какую версию этих требований установить. Не создавайте это вручную, чтобы избежать неправильных действий - Composer создает файл для вас, когда вы добавляете зависимости. Дополнительные зависимости также добавляются автоматически.
Пример использования Composer
Чтобы использовать Composer для установки зависимостей:
- Определите библиотеку, необходимую для приложения.
- Найдите хорошую библиотеку с открытым исходным кодом на <Packagist.org>, хранилище Composer.
- Выберите пакет, который вы хотите.
- Используйте
composer require
для включения и установки зависимости.
Инициализация Слагит
Теперь мы пройдем этот процесс с помощью простого примера приложения, которое возьмет предложение и сделает его дружественной строкой, называемой слагом. Это часто используется для преобразования имен страниц в URL-адреса, чтобы упростить создание URL-адресов и путей. Начнем с создания папки для приложения под названием slugit
.
mkdir ~/slugit
cd ~/slugit
Поиск на Packagist
Теперь мы продолжим packagist.org
и найдем пакет, который поможет генерировать слагов. Поиск slug
на Packagist должен показать некоторые из этих пакетов.
easy-slug/easy-slug, muffin/slug, ddd/slug, zelenin/slug, webcastle/slug, anomaly/slug-field_type
Нам нужно найти конвертер строки в слизняк, чтобы он cocur/slugify
выглядел хорошо, со многими установками и звездами.
Требование пакета
После выбора пакета мы запускаем его composer require
для включения в качестве зависимости, генерируем composer.json
и устанавливаем его.
composer require cocur/slugify
Как видно из сгенерированного вывода, Composer выбрал самую последнюю версию пакета и использовал ее. Проверка ~/slugit
, вы должны увидеть 2 файла, composer.lock
а composer.json
также папку с именем vendor
.
composer.lock
используется для хранения информации о версиях пакетов и их неизменности.
vendor
Папка используется для установки зависимостей. Не помещайте эту папку в Git-репозиторий или GitHub.
Если загруженный вами проект уже содержит composer.json
, используйте composer install
для загрузки его зависимостей.
Понимание ограничений версии
Если вы проверите, что composer.json
включает в себя, вы должны увидеть что-то похожее на этот блок.
{
"require": {
"cocur/slugify": "^1.2"
}
}
Composer имеет много различных форматов и ограничений для определения версии пакета, чтобы обеспечить гибкость в сочетании со стабильностью. ^
перед номером версии делает эту версию минимальной и разрешает все версии ниже 2.0
.
Обычно вам не нужно менять ограничения версии, но если вы это сделаете, обратитесь к официальной документации Composer для получения дополнительной информации и рекомендаций о том, как все это работает.
Скрипт автозагрузки
Composer предоставляет скрипт автозагрузки, который значительно упрощает работу с вашими зависимостями и пространствами имен.
Просто включите vendor/autoload.php
в ваш PHP перед созданием любого класса.
Вернемся к нашему slugit
примеру. Давайте создадим тестовый скрипт, который называется example.php
, используя cocur/slugify
.
vim example.php
Поместите следующее в example.php
.
<?php
require __DIR__ . '/vendor/autoload.php';
use Cocur\Slugify\Slugify;
$slugify = new Slugify();
echo $slugify->slugify('Hello World, this is a long sentence and I need to make a slug from it!');
Запустите скрипт.
php example.php
Будет выведен следующий текст:
hello-world-this-is-a-long-sentence-and-i-need-to-make-a-slug-from-it
Обновление зависимостей проекта
Обновлять зависимости проекта.
composer update
Если обновления найдены и совместимы с указанным ограничением composer.json
, он заменит предыдущую версию и выполнит обновление composer.lock
.
Для обновления одной или нескольких конкретных библиотек.
composer update vendor1/package1 vendor2/package2
Вывод
В этом руководстве мы рассмотрели установку, настройку и пример использования Composer для управления зависимостями приложений PHP.