Сочувствие — неважная милостыня (Г. Лихтенберг).

Как установить и использовать Composer на Debian 8

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (4 оценок, среднее: 5,00 из 5)
Загрузка...

Статья опубликована: 25 марта 2017

Как установить и использовать Composer на Debian 8

Введение

Composer является популярным инструментом управления зависимостей для PHP, созданный в основном для облегчения установки и обновления для зависимостей проекта. Он проверит, какие другие пакеты конкретного проекта зависит от него, и установить их для вас, используя соответствующие версии в соответствии с требованиями проекта.

Этот урок покажет, как установить и как начать работу с композитором на сервере Debian 8.

Предпосылки

Для этого урока вам понадобятся:

Шаг 1 – Установка зависимостей

Перед тем, как скачать и установить Composer, мы должны убедиться, что наш сервер имеет все необходимые установленные зависимости.

Во-первых, необходимо обновить кэш менеджер пакетов.

 

Теперь, давайте установим зависимости. Нам понадобится curl для того, чтобы загрузить композитор и php5-cli, пакет PHP, для установки и запуска. Композитор использует git, систему управления версиями, чтобы загрузить проект зависимостей. Вы можете установить все три из этих пакетов сразу же с помощью этой команды:

 

Теперь, когда основные зависимости устанавленны, давайте продолжим и установить сам Composer.

Шаг 2 – Загрузка и установка Композитора

Мы будем следовать инструкциям, как написано в официальной документации композитора с небольшой модификацией для глобальной установки Composer в /usr/local/bin. Это позволит каждому пользователю на сервере использовать Composer.

Загрузите программу установки в каталог /tmp.

 

Посетите страницу pubkeys композитора и скопируйте строку SHA-384 в верхней части. Затем выполните следующую команду, заменив строку  sha_384_string.

 

Эта команда проверяет хэш загруженного файла с правильным хэшем с сайта композитора. Если он соответствует, он напишет что установщик проверен. Если он не соответствует, он будет печатать установщик поврежден, в этом случае вы должны дважды проверить, что вы скопировали строку SHA-384 правильно.

Далее, мы установим Composer. Для того, чтобы установить его на глобальном уровне в рамках /usr/local/bin, мы будем использовать флаг --install-dir; --filename сообщает установщику имя исполняемого файла композитора. Вот как сделать это в одной команде:

 

Вы увидите сообщение вроде следующего:

Вывод
 

Вы можете убедиться, что Composer был правильно установлен, проверив его версию.

 

Вы должны увидеть версию, которая была установлена. Во время написания этой статьи, версия Composer следующая:

 

И, наконец, вы можете безопасно удалить скрипт установки, так как вам он больше не нужен.

 

Composer теперь настроен и работает, ожидая, когда будет использоваться вашим проектом. В следующем разделе вы будете генерировать файл composer.json, который включает в себя PHP библиотеки, от которых зависит ваш проект.

Шаг 3 – Генерация файла composer.json

Для того, чтобы использовать Composer для проекта, вам понадобится файл composer.json. Файл composer.json сообщает Composer, какие зависимости его нужно скачать для вашего проекта, и какие версии каждого пакета разрешено устанавливать. Это важно, чтобы сохранить ваш проект последовательным и избежать установки нестабильных версий, которые потенциально могут привести к обратной проблемы совместимости.

Вам не нужно создавать этот файл вручную; это легко нарваться на синтаксические ошибки, если вы делаете. Композитор автоматически генерирует файл composer.json при добавлении зависимости к проекту с помощью команды require. Дополнительные зависимости также могут быть добавлены таким же образом, без необходимости вручную редактировать этот файл.

Процесс использования Composer для установки зависимого пакета в проекте обычно включает в себя следующие шаги:

  • Определить, какие библиотеки необходимы приложению
  • Проверка подходящих библиотек с открытым исходным кодом на Packagist.org, официальный репозиторий для Composer
  • Выбор пакет, который вы хотите зависеть
  • Запуск composer require, включение зависимости в файл composer.json и установка пакета

Мы посмотрим, как это работает на практике с помощью простого демонстрационного приложения.

Целью данного приложения является превратить данное предложение в slug, который является URL-дружеской строкой. Это используется для преобразования названий страниц в пути URL (как финальная часть URL для этого урока).

Давайте начнем с создания каталога для проекта. Мы будем называть его slugify :

 

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

При поиске пакетов на Packagist

Далее, мы будем искать Packagist для пакета, чтобы помочь произвести slug. Если вы ищете “slug“, вы увидите список пакетов. На правой стороне каждого пакета в списке, вы увидите два номера: номер на вершине, сколько раз был установлен пакет и номер внизу показывает, сколько раз пакет был звездой на GitHub.

Вообще говоря, пакеты с большим количеством установок и звезды, как правило, более стабильны, потому что многие люди их используют. Важно также, проверить описание пакета, чтобы убедиться, что пакет действительно тот, что вы ищете.

То, что нам нужно, это простой конвертер строки в slug. В качестве примера здесь, мы будем использовать пакет cocur/slugify. Вроде бы хороший пакет, потому что он имеет разумное количество установок и звезд.

Вы заметите, что пакеты на Packagist имеют имя поставщика и имя пакета. Каждый пакет имеет уникальный идентификатор (пространства имен) в том же формате GitHub использует для своих хранилищ: vendor/package. Библиотека, которую мы хотим установить, использует пространство имен cocur/slugify. Пространство имен является тем, что нам нужно для того, чтобы потребовать пакет в нашем проекте.

Теперь, когда мы определили библиотеку мы хотим добавить его в файл composer.json.

Требование пакета

Мы можем запустить composer require, чтобы включить библиотеку в качестве зависимости, а также сгенерировать файл composer.json для проекта:

Вывод

 

Как вы можете видеть из вывода, композитор автоматически решил, какая должна быть использована версия пакета. Если вы посмотрите каталог вашего проекта сейчас, он будет содержать два новых файла: composer.json и composer.lock, и каталог /vendor:

Вывод

 

Файл composer.lock используется для хранения информации о том, какие установлены версии каждого пакета, и убедится, что одни и те же версии используются, если кто – то клонирует ваш проект и устанавливает его зависимости. Каталог /vendor, где расположены зависимости проекта. Каталог /vendor не должен совершаться в системе контроля версий; вам нужно только включить файлы composer.json и composer.lock.

Примечание:
При установке проекта, который уже содержит файл composer.json, вам нужно запустить установку composer, чтобы загрузить зависимости проекта.

Вы можете заметить , что файл composer.lock содержит конкретную информацию о зависимости версии PHP библиотек нашего проекта. Композитор использует специальный синтаксис для ограничения библиотек для конкретных версий. Давайте посмотрим , как это работает.

Понимание ограничений версий

Если проверить содержимое вашего файла composer.json, то вы увидите что – то вроде этого:

 

Вывод
 

Существует символ вставки, ^перед номером версии. Композитор поддерживает несколько различных ограничений и форматов для определения требуемой версии пакета, для того, чтобы обеспечить гибкость в то же время сохраняя проект стабильным. Оператор каретка используется в автоматически сгенерированном файле composer.json и является рекомендуемым оператором для обеспечения максимальной совместимости, после семантического контроля версий. В этом случае она определяет 1.3 в качестве минимального совместимой версии, а также позволяет обновления к любой будущей версии ниже 2.0 . Вы можете прочитать более подробную информацию о основных версиях в документации версий Composer.

До сих пор мы видели, как добавлять и ограничивать PHP библиотеки в нашем проекте, нуждается в Composer, используя файл composer.json. Следующим шагом является использование этих библиотек внутри нашего приложения. Для этой цели, композитор дает файл autoload.php, который облегчает процесс загрузки внешних библиотек.

Шаг 4 – Включение автозагрузочного скрипта

Композитор предоставляет скрипт автозагрузки, который вы можете включить в свой проект, чтобы получить самозагружатся бесплатно. Это делает его гораздо проще работать с зависимостями и определить свои собственные пространства имен. Единственное, что вам нужно сделать, это включить файл vendor/autoload.php в ваших скриптах перед любым классом экземпляра.

Давайте вернемся к примеру приложения slugify. Используйте nano или ваш любимый текстовый редактор, чтобы создать сценарий test.php, где мы будем использовать библиотеку cocur/slugify.

test.php

 

Вы можете запустить скрипт в командной строке с помощью:

 

Это должно произвести вывод:

Вывод
Вы полностью настроить композитора, но читайте дальше, чтобы узнать, как сохранить установки.

Шаг 5 – Обновление Composer и зависимости проекта (Необязательно)

Чтобы обновить Composer, вы можете использовать встроенную команду self-update. Поскольку композитор установлен в глобальном масштабе, необходимо выполнить команду с привилегиями суперпользователя.

 

Вы можете обновить один или несколько специфических библиотек, перечислив их конкретно в composer update.

 

Если вы хотите обновить все ваши зависимостей проекта, запустите команду update.

 

Это будет проверять наличие новых версий библиотек, необходимых вам в вашем проекте. Если новая версия найдена, и она будет совместима с версией ограничения, определенного в файле composer.json, он заменит предыдущую версию установленной. Файл composer.lock будет обновлен, чтобы отразить эти изменения.

Вывод

Композитор является мощным инструментом, каждый разработчик PHP должен иметь в его своем комплекте необходимых программ. Помимо предоставления простой и надежный способ для управления зависимостями проекта, он также устанавливает новый стандарт де-факто для совместного использования и обнаружения PHP пакетов, созданных сообществом.

На этом уроке мы кратко описали основы Composer: как установить его, как создать проект и найти пакеты для него, и как сохранить его. Чтобы узнать больше, вы можете изучить официальную документацию Composer.

Как установить и использовать Composer на Debian 8


Читайте также

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close