Как Установить Composer — Полное Руководство
В этой статье мы покажем вам, как установить Composer на различные платформы, а также как им пользоваться. Composer — менеджер зависимостей для PHP. Это простой и надёжный инструмент, который разработчики используют для управления внешними пакетами или библиотеками и их интеграции в свои проекты на основе PHP. Таким образом, им не нужно писать веб-страницы или приложения с нуля.
Чтобы помочь вам освоить этот инструмент, мы также покажем, как создать базовый PHP-проект.
Но прежде чем приступить к пробной установке Composer, убедитесь, что у вас есть доступ к интерфейсу командной строки (в вашей системе или на сервере).
Оглавление
Установка Composer
В этом разделе вы узнаете, как установить Composer на общий хостинг и операционные системы, такие как Linux, macOS и Windows.
1. Установка Composer на Общий Хостинг, Linux или macOS
Команды для установки Composer на общий хостинг, Linux (ПК или сервер) и macOS одинаковы.
Обратите внимание, что сейчас в Hostinger действуют скидки на хостинг до 85%!
Обратите внимание, что Composer включен в наши планы хостинга Премиум и Бизнес. Если вы подписаны на один из этих планов, просто пропустите эту часть. Однако, если вы обнаружили, что он устарел, обновите его, выполнив следующую команду:
php composer.phar self-update
Следуйте инструкции, чтобы узнать, как установить Composer в вашей системе:
- Подключитесь к вашему хостинг-аккаунту через SSH. Вы можете найти подробные инструкции о том, как это сделать здесь.
- Загрузите Composer с официального сайта, используя следующую команду:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
- Проверьте подпись установщика (SHA-384), чтобы убедиться, что файл установщика не повреждён. Введите:
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Длинная строка символов в приведённой выше команде («e0012edf…») — подпись установщика. Она меняется каждый раз, когда выходит новая версия Composer. Поэтому обязательно загрузите последнюю версию SHA-384 с этой страницы.
- Как только это будет сделано, вы сможете установить Composer локально или глобально. Локальная установка означает, что менеджер зависимостей будет храниться в вашем текущем каталоге, и вы должны будете указать путь перед выполнением соответствующих команд. Между тем, глобальная установка позволяет вам запускать Composer из любой точки вашей системы, сохраняя его в каталоге /usr/local/bin. Вот как реализовать оба метода:
- Локальная установка:
php composer-setup.php
- Глобальная установка:
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Вы получите следующий результат:
All settings correct for using Composer Downloading... Composer (version 1.10.5) successfully installed to: /usr/local/bin/composer
- Локальная установка:
- Как только это будет сделано, удалите установщик:
php -r "unlink('composer-setup.php');"
- Проверьте установку Composer:
composer
Командная строка покажет следующий результат:
______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ / __ `__ / __ / __ / ___/ _ / ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / ____/____/_/ /_/ /_/ .___/____/____/___/_/ /_/ Composer version 1.10.5 2020-02-12 16:20:11
Установка Composer на Windows
Начало работы с Composer на компьютере с Windows немного отличается. На самом деле начать работу с Composer на Windows гораздо проще. Вам не понадобятся какие-либо команды для установки и загрузки.
Просто следуйте инструкции:
- Установите на свой компьютер PHP. Мы рекомендуем использовать XAMPP, так как это просто, удобно и быстро.
- После установки XAMPP скачайте последнюю версию Composer.
- Запустите мастер установки Composer. Когда он попросит вас активировать режим разработчика, пропустите это и продолжайте процесс установки.
- Появится другое окно с запросом найти командную строку PHP. По умолчанию она находится в C:/xampp/php/php.exe. Указав местоположение, нажмите «Next» (Далее).
- Дальше вас направит к настройкам прокси (Proxy Settings). Оставьте флажок снятым и пропустите эту часть, нажав «Далее». Затем в последнем окне нажмите «Install»(Установить).
- После завершения установки откройте командную строку. Нажмите CTRL + R, введите «cmd» и нажмите «ОК».
- Введите следующую команду:
composer
Вуаля! Вы узнали, как установить Composer на компьютер под операционной системой Windows. Установщик автоматически добавит Composer в вашу переменную PATH. Вы сможете открыть командную строку и запустить Composer с любого места.
Создание и Общая Информация о composer.json
Теперь самое интересное — использование Composer на практике, а именно в вашем PHP-проекте.
Для этого, создайте отдельный файл composer.json. Этот файл служит своего рода шпаргалкой для Composer; он будет загружать для вашего проекта только те пакеты (зависимости), которые в нём упомянуты.
Обратите внимание, что он также проверяет совместимость версий пакетов для вашего проекта. К примеру, если вы используете старый пакет в вашем проекте, файл composer.json даст вам об этом знать для избежания возможных проблем в будущем.
У вас есть возможность создать и обновлять файл composer.json самостоятельно. Но так как в наших руководствах мы стараемся показать, как автоматизировать некоторые задачи, этот способ будет неуместен. Мы не рекомендуем создавать файл вручную.
Давайте продемонстрируем, насколько полезен composer.json, создав пробный проект.
Наш проект — это простой таймер PHP, позволяющий разработчикам узнать сколько времени тратиться на выполнение той или иной части кода. Это очень полезно при оптимизации и отладке.
Следуйте пошаговому руководству, чтобы создать свой проект:
- Создайте новую папку для проекта. Так как наш проект — это таймер, мы назовём его просто: «phptimer». Для этого впишите эту команду:
mkdir phptimer
- Войдите в созданную папку с помощью команды:
cd phptimer
- Теперь вам нужен пакет или библиотека с уже реализованным таймером PHP. Лучшее место для поиска пакетов — Packagist — официальное хранилище пакетов, созданных для Composer. Здесь вы найдёте все виды библиотек, которые помогут в разработке вашего проекта. Для данного руководство нам понадобиться пакет с таймером. Для этого впишите «timer» в поисковое поле, как на картинке снизу:
Как видите, доступно несколько пакетов таймеров, и у каждого есть название и короткое описание того, что он делает. В этом примере мы выбираем phpunit/php-timer, так как он имеет наибольшее количество загрузок и большинство звёзд GitHub. - Укажите нужный пакет, чтобы Composer мог добавить его в ваш проект:
composer require phpunit/php-timer
Вывод покажет версию phpunit/php-timer:
Using version ^1.0 phpunit/php-timer
Символ каретки (^) определяется Composer, как опция максимальной совместимости. Это означает, что Composer всегда будет обновлять пакет, пока не появится версия, которая каким-либо образом вызовет ошибку.
В нашем случае диапазон обновления пакета > = 1.0.9 <2.0.0, так как версия 2.0.0 нарушит обратную совместимость (англ.). Для более подробной информации о версиях Composer, перейдите на страницу документации.
После выполнения вышеуказанной команды в вашем каталоге проекта появятся два новых файла — composer.json и composer.lock, а также папка с именем vendor. Это каталог, в котором Composer будет хранить все ваши пакеты и зависимости.
Использование Скрипта Автозагрузки
Если вы дошли до этой части руководства, все последующее вам должно даваться очень легко. Ваши зависимости были установлены и ваш проект готов к работе. Почти.
Теперь вам необходимо загрузить эти зависимости в ваш PHP-скрипт. Если бы не файл автозагрузки Composer, мы бы потратили на это довольно много времени.
Чтобы добиться автозагрузки, просто напишите следующую строку перед объявлением или созданием любых новых переменных в вашем скрипте:
require 'vendor/autoload.php'
Пример ниже поможет вам лучше это понять.
Допустим, мы хотим протестировать наш проект phptimer:
- Откройте текстовый редактор nano, чтобы создать скрипт с названием demo.php.
nano demo.php
Затем вставьте в ваш файл следующие строки:
<?php require __DIR__ . '/vendor/autoload.php' Timer::start(); // your code $time = Timer::stop(); var_dump($time); print Timer::secondsToTimeString($time);
- Запустите скрипт:
php demo.php
Терминал должен показать вывод, подобный этому:
double(1.0893424438611E-5) 0 ms
Обновление Зависимостей Вашего Проекта
Теперь нам осталось лишь узнать, как производить обновление пакетов. Сделать это можно двумя способами:
- Универсальное обновление. Для проверки и обновления всех ваших пакетов и зависимостей, впишите в терминал следующую команду:
composer update
- Обновление конкретного пакета. Выполните эту команду, чтобы проверить обновления для одного или нескольких определённых пакетов:
composer update vendor/package vendor2/package2
Не забудьте поменять vendor/package на имя пакета, который вы хотите обновить.
Команда update также автоматически обновит файлы composer.json и composer.lock для соответствия текущему состоянию вашего проекта.
Заключение
Composer помогает разработчикам управлять зависимостями проектов PHP. Благодаря этому программному обеспечению они могут легко интегрировать и управлять пакетами с открытым исходным кодом в одном месте.
Что хорошо, Composer также может разрешать зависимости для каждого проекта отдельно. Таким образом, разработчики могут контролировать пакеты, а также размер каждого проекта.
Из этого руководства вы узнали, как установить Composer и эффективно его использовать. Подводя итог, давайте ещё раз перечислим все шаги:
- Узнали, как установить Composer на виртуальный хостинг, Linux, macOS или Windows.
- Научились создавать и разобрались с файлом composer.json.
- Научились пользоваться скриптом автозагрузки для загрузки зависимостей в файл PHP.
- Обновили зависимости нашего проекта.
Мы надеемся, что наше руководство станет для вас стартом для создания не одного прекрасного проекта на PHP. Удачи и не стесняйтесь задавать вопросы в разделе комментариев ниже.
Коментарі
25 сентября 2018
Спасибо вам большое, ваша статья единственная во всем интернете которая до невероятности просто объясняет. Теперь даже задумался переходить от своего хостинг-провайдера к Вам
12 июля 2021
Дзякуй вялікі! нарэшце разабраўся. Аўтару поспехаў!
16 июля 2021
Спасибо Вам за оочень полезную статью!) Теперь я знаю, что такое php Composer!
20 июня 2022
Вялікі дзякуй. Нідзе больш не знайшла талковага апісання, як працаваць з Composer.