Начало работы с Composer на Ubuntu 14.04

Установка глобально Composer на Ubuntu 14.04 описан здесь.

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

Главным источником подключаемых библиотек и готовых решений будет packagist.org. Поиск нужных готовых решений будет зависить от ваших способностей правильно задавать информацию в строку поиска.

composer.json:

composer.json - основной файл, в котором будут прописываться нужные библиотеки, правила их установок и инные тонкие настройки.

Пример composer.json:

{
    "require": {
        "php":">=7.0"
    }
}

Данный пример будет проверять соответствие нашей версии php, с требуемой в файле. Так как у меня php 5.6, то выдаст ошибку.

Problem 1
    - This package requires php >=7.0 but your PHP version (5.6.36) does not satisfy that requirement.

composer.lock:

composer.lock - файл инсталируемых версий. При install создается если не создан, но не обновляется при повторном install. В нем хранятся версии используемых библиотек. Чтобы обновить версии, то используется update.
 

Рассмотрим основные команды для начала работыс composer:

1. Init - создает composer.json:

В корне сайта (например /var/www/proj.loc), командой init, требуется создать composer.json.

composer init

После ввода init, будет требоваться ввод данных по проекту. После завершения ввода создастся файл composer.json.

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

{
    "name": "username/proj.loc",
    "description": "Description",
    "type": "proj.loc",
    "license": "free",
    "authors": [
        {
            "name": "username",
            "email": "ad@min.loc"
        }
    ],
    "require": {}
}

2. Require - добавление нового пакета из packegist.org в composer.json:

Находимся в директории где находится нужный composer.json (в моем случае /var/www/proj.loc).

composer require symfony/var-dumper

Данная команда подтянет symfony/var-dumper, его смежные используемые пакеты и сделает install. Данный пакет развернется в стандартной директории проекта в папке vendor и перегенерирует файл autoload.php, который отвечает за подключение всех установленных библиотек.

Но так же присутствует возможность добавлять нужные пакеты вручную, и делать install или update.

Пример:

{
    "name": "username/proj.loc",
    "description": "Description",
    "type": "proj.loc",
    "license": "free",
    "authors": [
        {
            "name": "userbame",
            "email": "ad@min.loc"
        }
    ],
    "require": {
        "symfony/var-dumper": "^3.4"
    }
}

3. Install - в зависимости от блока require в composer.json делает установку всех прописанных в нем пакетов, полтягивает связи используемые этими пакетами.

composer install

После этого создается папка vendor возле файла composer.json и в нее подтягиваются пакеты. Если composer.lock не создан, то создастся с версиями пакетов на момент инсталяции. Если повторно сделать install, то composer.lock не перегенерируется, а версии будут подтянуты те, что прописаны в сomposer.lock

4. Update - обновляет версии пакетов в файле composer.lock. Не трогает версии в composer.json.

composer update

В отличии от install - подтягивает последние версии нужных библиотек и вписует их в composer.lock, и уже при следующем install будут браться новые версии у всех, если присутствует composer.lock (так как он в приоритете).

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

Полный перечень команд можно найти здесь.

1509 0

Комментарии

Пока нет ни одного отзыва. Оставьте отзыв первым
Только авторизованные пользователи могут оставлять комментарии Вход

Похожие статьи

Подключение библиотек Composer на Php сайт

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