Что такое composer php

Содержание
  1. Установка PHP Composer на виртуальном хостинге
  2. Что такое PHP Composer
  3. Как работает PHP Composer
  4. Установка Composer на виртуальный хостинг
  5. Composer: пакетный менеджер для PHP
  6. Что умеет пакетный менеджер?
  7. Composer: пакетный менеджер для PHP
  8. Как начать работу с Composer
  9. Установка библиотеки из Composer
  10. Подключение библиотеки в сценариях
  11. Зачем нужен composer PHP?
  12. Composer — менеджер зависимостей для PHP
  13. Что умеет Composer?
  14. Рабочий пример: используем Composer в своём проекте
  15. Подведём итоги
  16. Руководство по использованию Composer для начинающих
  17. Что такое PHP Composer
  18. Как установить Composer
  19. Установка Composer в Ubuntu, выполняющейся в подсистеме Windows для Linux (WSL)
  20. Установка Composer на OpenServer (в Windows)
  21. Установка Composer на хостинг
  22. Основные команды Composer
  23. Установка пакета
  24. Установка всех пакетов в проект
  25. Обновление зависимостей
  26. Удаление пакета
  27. Обновление Composer
  28. Обновление lock файла без обновления пакетов
  29. Создать новый проект
  30. Вывод всех установленных библиотек
  31. Проверка валидности файла «composer.json»
  32. Вывод списка всех доступных команд
  33. Очистка внутреннего кэша пакетов Composer
  34. Получение подробной справки по команде
  35. Вывести зависимости для указанного пакета
  36. Создание базового варианта файла composer.json с помощью мастера
  37. Примеры использования Composer для установки PHP фреймворков и CMS
  38. Как удалить Composer

Установка PHP Composer на виртуальном хостинге

Читайте нашу статью, если хотите узнать, что такое Composer PHP и как установить его на виртуальный хостинг.

Что такое PHP Composer

PHP Composer (пакетный менеджер) — это консольная утилита, которая позволяет быстро найти нужные пакеты, фрэймворки и библиотеки, а затем в автоматическом режиме скачать, распаковать и установить их вместе с зависимостями. Например, вы хотите загрузить библиотеку, которая имеет зависимости от нескольких других пакетов. При этом каждый из пакетов также имеет свои зависимости. Если у вас не установлен пакетный менеджер, все настройки придётся выставлять вручную. Если менеджер установлен, сработает autoload php composer и выполнит за вас все действия, связанные с настройкой. Менеджер работает с такими фреймворками, как Yii2, Laravel и Symfony, а также популярными СMS — MODX, Drupal и другими.

По сути, Composer является PHP-скриптом. Чтобы утилита выполнила тот или иной порядок действий, достаточно ввести несколько команд. Это незаменимый инструмент для программиста и веб-разработчика.

Как работает PHP Composer

При установке утилиты создается текстовый файл composer.json — это центральный файл менеджера. В нём прописываются сторонние пакеты, которые необходимы для работы композера — все его зависимости, а также требования к версиям. Также утилита генерирует файл composer.lock — в него сохраняются все версии пакетов, которые будет устанавливать пользователь. Файл отвечает за поддержание среды тестирования и разработки. Он незаменим при переносе или копировании проекта. В качестве репозитория пакетов Composer по умолчанию использует packagist.org.

PHP-скрипт создает в корневой директории каждого проекта папку «vendor». В неё Composer загружает все сторонние библиотеки. Помимо этого скрипт создает файл autoload.php. Если до установки менеджера пользователь уже использовал библиотеки, их также можно можно будет подключить к файлу с помощью одной команды.

Установка Composer на виртуальный хостинг

Чтобы установить пакетный менеджер на сервер:

Подключитесь к серверу по SSH. Для этого введите в терминале команду:

Где u1234567 — логин учётной записи хостинга; 123.123.123.123 — IP-адрес сервера.

Эту информацию можно узнать в письме, отправленном после заказа услуги виртуального хостинга, или в личном кабинете.

При корректном подключении каждая следующая строка будет начинаться с
-bash-4.1$.

Для удобства дальнейшей установки задайте переменную PHP следующим образом:

Например, если на сайте используется php 5.3: /opt/php/5.3/bin.

Создайте каталог, в который будет установлен composer, в корневой папке услуги:

Источник

Composer: пакетный менеджер для PHP

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

Пакетный менеджер избавляет от необходимости самостоятельно искать библиотеки, скачивать, распаковывать, разрешать зависимости — все эти задачи он берёт на себя.

Что умеет пакетный менеджер?

Composer: пакетный менеджер для PHP

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

Как начать работу с Composer

Установка

Инициализация в проекте

Подключение сценария автозагрузки

autoload.php использует механизм «автозагрузки». Он перехватывет обращение к классам библиотек и подключает все необходимые сценарии «на лету». Чтобы это всё работало подключите autoload.php в вашем сценарии:

Установка библиотеки из Composer

Composer скачивает и устанавливает библиотеки по их имени. Это означает, что сначала нужно «нагуглить» нужную библиотеку, перейти на её сайт, и найти там в описании её имя. Например, название библиотеки может быть таким: fzaninotto/faker

Подключение библиотеки в сценариях

Затем создаём новый объект валидатора и вызываем его методы для передачи правил валидации и проверки формы. На этом всё.

Источник

Зачем нужен composer PHP?

Всем привет! Я никогда не использовал фреймворки, все проекты пишу сам (PHP) (конечно, со своими наработками и со своей удобной для меня структурой), поэтому мне сложно представить зачем нужен composer впринципе.
Я понимаю, что он скачает некие файлы, плагины и т.д. Но какой в этом смысл, если я не знаю куда он их скачал и что конкретно он скачал. И почему так важно пользоваться именно им. Ведь с таким же успехом можнос качать архив, без кучи лишних файлов с тем же плагином и закинуть его в папку вручную.
В целом в этом и весь вопрос: зачем скачивать кучу ненужных файлов, не зная как они располагаются и куда скачиваются, вместо ручного скачивания, где я просто скачаю пару нужных файлов и подключу их к проекту.
И вообще, нужен ли компоситор для самописных проектов?

Прошу не пинать, спросить больше не у кого.

5a64b90a47974f149490ee7bdcaaa59f

428c9ea56bae4cd3855e7fdf001b4463

1. Поставить какой-то пакет в одну команду – самое очевидное. Не запариваться с архивами.

2. Обновление в одну команду. При том, если что-то пойдет не так, можно быстро откатиться.

3. Зависимости сторонних пакетов. Не придется иметь несколько копий одной и той же библиотеки.

4. Удобный встроенный автолоадер.

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

Источник

Composer — менеджер зависимостей для PHP

image loaderComposer (getcomposer.org) — это относительно новый и уже достаточно популярный менеджер зависимостей для PHP. Вы можете описать от каких библиотек зависит ваш проект и Composer установит нужные библиотеки за вас! Причём Composer — это не менеджер пакетов в классическом понимании. Да, он оперирует с сущностями, которые мы будем называть «пакетами» или библиотеками, но устанавливаются они внутрь каждого проекта отдельно, а не глобально (это одно из основных отличий от старого-доброго PEAR).

Изначально он был спроектирован и разработан двумя людьми Nils Adermann и Jordi Boggiano, сейчас в проекте участвует более двадцати контрибьюторов, Проект написан на PHP 5.3, распространяется под лицензией MIT и доступен на github.

Первые коммиты были сделаны апреле 2011 года и на сегодняшний день Composer находится в стадии «alpha3». Однако, он уже достаточно стабилен и используется многими популярными PHP проектами (например, Symfony 2). Список проектов использующих Composer можно посмотреть на сайте packagist.org — это официальный репозиторий Composer пакетов. Кстати, на недавней конференции Devconf 2012 разработчик фреймворка Yii в своём докладе упомянул, что Yii2 скорее всего тоже будет использовать Composer.

В этой статье я кратко опишу основные возможности Composer и мы попробуем создать демонстрационный проект использующий Composer для загрузки необходимых библиотек. Все примеры будут доступны на github.com и bitbucket.org.

Что умеет Composer?

Рабочий пример: используем Composer в своём проекте

Чтобы разобраться, как пользоваться Composer’ом, напишем маленький проектик на PHP: «Super Hello World». Поскольку мы не хотим изобретать велосипед и писать код «с нуля», возьмём готовые библиотеки и фреймворки.

Как мы это сделаем теперь: используем Composer — он сам скачает все библиотеки и сгенерирует для нас autoload.php. Кроме того, если мы захотим показать «Super Hello World» коллегам, достаточно будет опубликовать код нашего проекта на github (или ещё где-нибудь), не включая всех требуемых библиотек в репозиторий и не готовя длинной инструкции по их установке. Нашим коллегам достаточно будет скачать (склонировать) «Super Hello World» и выполнить команду

Кстати, немного о синтаксисе запуска.
Если вы работаете под Windows, то скорее всего вы будете писать что-то вроде

Можно упростить себе жизнь, создав composer.bat и положив его в %PATH%.

В Linux и OS X можно настроить на исполнение команду типа

composer.json

Итак, мы готовы написать наш Super Hello World проект. И я его только что написал: http://github.com/pqr/superhelloworld. Код состоит из одного index.php файла в директории web и шаблона layout.twig в директории views.

Голова всему — это файл composer.json. Он должен быть в корне проекта, в нашем случае рядом с директориями web и view. В этом файле необходимо указать от каких библиотек зависит наш проект. Кроме того, если эти библиотеки не являются оформленными Composer-пакетами, то нужно указать некоторую дополнительную информацию об устанавливаемой библиотеке (например, описать правила автозагрузки классов и функций для autoload.php).

composer.json, как вы догадались, имеет формат данных JSON. На вопрос «почему именно JSON?» разработчики Composer отвечают «Потому что. Просто примите это.«.

Нам нужно описать один js-объект, в котором будут находиться все инструкции. Первая и самая главная инструкция: require.

Подключаем пакеты с сайта packagist.org

Здесь я описал зависимость проекта от PHP версии 5.3.0 и выше, от silex (микрофреймворк) и от twig (шаблонизатор). Silex и Twig доступны в виде Composer-пакетов на сайте packagist.org, поэтому дополнительных настроек не требуют. Замечу, что Silex в свою очередь зависит ещё от нескольких пакетов — все они будут скачены и установлены автоматически.

Имя пакета состоит из двух частей разделёных косой чертой: названия поставщика (vendor name) и названия библиотеки. Названием поставщика зачастую является ник автора или имя компании. Иногда, название поставщика совпадает с именем самой библиотеки или фреймворка.

Для каждого пакета обязательно нужно указать номер версии. Это может быть бранч в репозитории, например, «dev-master» — приставка dev сигнализирует, что это имя бранча, а сам бранч соответсвенно называется «master». Для mercurial репозитория аналогичная запись будет выглядеть как «dev-default». В качестве номера версии можно указать и более сложные правила, используя операторы сравнения. Кстати, если вы скачиваете код из удалённого репозитория, то Composer сканирует теги и имена веток в этом репозитории на предмет чего-то похожего на номера версий, например тег «v1.2.3» будет использован как указатель на версию 1.2.3.

Подключаем на собственный Compsoer-пакет

Далее, подключим наш собственный пакет SuperLogger, который правильно оформлен, но опубликован не на packagist.org, а на github:

Чтобы Composer знал где искать пакет «mycompany/superlogger», мы добавили массив repositories со ссылкой на соотвествующий github репозиторий. Обратим внимание, что записи в массиве repositories напрямую никак не связаны с блоком require — между пакетами и репозиториями не указано соответствие. На сколько я понял, Composer ищет все требуемые пакеты во всех указанных репозиториях (в т.ч. на сайте packagist.org) и скачивает найденные совпадения по каким-то внутренним приоритетам. Более глубоко я в этом моменте ещё не разбирался, поправьте меня, если кто-то знает детали.

Подключаем произвольный git репозиторий

Теперь подключим нашу легаси-библиотеку superlib, которая лежит на github, но не является оформленным Composer-пакетом, т.к. она очень старая.

В массив repositories добавился объект, который целиком описывает пакет pqr/superlib. По сути, это то описание, которое должен был бы сделать автор библиотеки и положить его внутри своего репозитория. Но по условиям задачи, superlib не является оформленным Composer-пакетом, поэтому нам пришлось создать его описание в рамках Super Hello World проекта. Аналогичным образом можно подключить любую другую библиотеку, в т.ч. простой zip файл.

Подключаем простой zip файл

Например, вот как могло бы выглядеть описание зависимости от шаблонизатора Smarty, распространяемого в виде zip файла с исходниками в svn:

Инстукция autoload

Вернёмся к нашему проекту.
Описывая «pqr/superlib», мы добавили инструкцию autoload. В ней указан файл timer.php, в котором будущий автозагрузчик будет искать классы и указали файл с функциями lib_functions.php — он будет принудительно подключаться в начале autoload.php.

Запускаем composer install
Как создать собственный Composer пакет?

В этом проекте мы использовали Composer с точки зрения потребителя библиотек. А как самому создать Composer пакет, чтобы любой другой человек смог им воспользоваться?

На самом деле, один из таких пакетов я создал, когда подготавливал примеры для этой статьи. В корне репозитория superlogger лежит файл composer.json похожей структуры, который описывает сам пакет и его зависимости (в случае с superlogger зависимостей нет). Другие примеры: репозитории silex и twig, которые скачались в папку vendor — все они имеют файл composer.json в корне — смотрите, изучайте!

И, конечно, не забывайте про документацию на официальном сайте getcomposer.org/doc/.
Эту тему я оставлю вам для самостоятельной проработки.

Подведём итоги

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

В своих рабочих проектах я использую систему контроля версий Mercurial. Этот пример вы также можете скачать и установить через Composer с сайта bitbucket.org: http://bitbucket.org/pqr/superhelloworld

Внимание: к сожалению, при использовании Composer с Mercurial репозиториями на Windows машине я нашел один баг. Если вы устанавливаете зависимости в проекте, который находится на диске отличном от системного диска, то получите ошибку. Например, системный диск C:, а проект вы разворачиваете где-то в папке D:\someproject и ваш проект зависит от библиотек опубликованных в виде Mercurial репозиториев — Composer не сможет правильно их прочитать. Собираюсь в ближайшее время пофиксить этот баг и отправить pull request в официальный репозиторий Composer’а.

Источник

Руководство по использованию Composer для начинающих

f2409a04b785f39f066901bb9f243868

php composer for beginners

В этой статье рассмотрим, что такое Composer, как его установить и использовать. Другими словами, разберем как его «готовить» для начинающих.

Что такое PHP Composer

Например, для того чтобы в некоторый разрабатываемый проект добавить сторонние библиотеки, в нём можно просто создать «composer.json» и описать в этом файле все необходимые зависимости. После этого для установки всех требуемых внешних php пакетов в проект достаточно будет ввести в консоли всего одну команду ( composer install ).

Кроме этого, Composer применяется не только для установки php библиотек. С помощью Composer осуществляется также установка различных php фреймворков (Laravel, Yii2, Symfony и др.) и CMS (Drupal, MODX 3 и др.).

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

Основная цель этой программы заключается в том, чтобы предоставить веб-разработчику удобный инструмент, с помощью которого он сможет очень просто загружать и устанавливать пакеты в проект, их обновлять, а также при необходимости осуществлять их удаление. Все эти действия Composer позволяет выполнить с помощью ввода всего одной или нескольких команд. Удобно, не правда ли?

В качестве репозитория пакетов Composer по умолчанию использует packagist.org.

При установке php пакетов Composer не просто устанавливает их, он также устанавливает все зависимости, от которых эти пакеты зависят. Т.е., например, если загружаемая библиотека будет зависеть от 3 других пакетов, а каждая из них, ещё в свою очередь от нескольких и так далее, то Composer всё это установит автоматически. В противном случае, т.е. без использования Composer, загрузку и установку основных пакетов, а также всех зависимостей придётся выполнять самостоятельно.

Загрузку сторонних библиотек Composer выполняет в папку «vendor», которую данный php скрипт создаёт в корневой директории проекта. Кроме этого, он ещё создаёт специальный файл «autoload.php», включив который в проект вы сразу же подключите к нему все ранее загруженные им библиотеки.

Основное назначение файла «composer.lock» заключается в полном сохранении среды, в которой осуществлялась разработка и тестирование проекта.

Работа с Composer осуществляется в основном в консольном или терминальном режиме, т.е. с помощью ввода команд через командную строку.

Официальный сайт Composer расположен по адресу https://getcomposer.org

Если вы использовали npm, то Сomposer – это нечто подобное, только не для «node.js», а для php.

Как установить Composer

Установка Composer может выполняться по-разному. Она также зависит от используемой среды и операционной системы. Рассмотрим различные варианты.

Установка Composer в Ubuntu, выполняющейся в подсистеме Windows для Linux (WSL)

Как установить локальный веб-сервер для разработки php проектов на подсистему Windows для Linux в Windows 10 можете ознакомиться в этой статье.

Для установки Composer в Windows 10 на подсистему Windows для Linux (WSL) необходимо выполнить следующие команды:

Первая команда выполняет загрузку скрипта установщика с сайта «getcomposer.org». Вторая команда выполняет запуск этого установщика. В процессе своей работы установщик проверит некоторые настройки «php.ini», предупредит вас, если они установлены неправильно, а затем загрузит последний «composer.phar» в текущий каталог. Последняя или третья команда просто удалит загруженный установщик, который ранее использовался для установки Composer.

Phar — это исполняемые файлы (программы), которые выполняются посредством php интерпретатора.

Если при установке php пакетов у вас выводиться ошибки на отсутствие прав записи в каталог «

/.composer/cache», то в командной строке просто запустите данную команду:

Эта команда переместит файл «composer.phar» из директории пользователя в директорию «/usr/local/bin» и уберёт у него расширение «phar».

Установка Composer на OpenServer (в Windows)

В OpenServer по умолчанию уже установлен Composer. Находится он в зависимости от выбранной версии PHP (устанавливается в настройках OpenServer) в директории «OSPanel\modules\PHP_*\».

Работа с Composer в OpenServer по умолчанию осуществляется в собственной консоли. Для того чтобы открыть эту консоль необходимо нажать на значок Open Server правой кнопкой мыши в области уведомлений и в открывшемся контекстном меню найти соответствующий пункт.

openserver menu item for opening console

В консоли для проверки того, что Composer подключен, например, можно ввести команду:

openserver console

Эта команда также отобразит версию Composer.

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

Установка Composer на хостинг

Для установки Composer на хостинг, можно просто скачать данную программу самостоятельно, а затем загрузить её в корневую директорию проекта, например, с помощью FTP.

Самостоятельная загрузка нужной версии Composer выполняется со страницы «Download». Версии программы на данной странице расположены в разделе «Manual Download».

Выполнение команд на удалённом сервере обычно осуществляют с помощью SSH. По умолчанию на shared хостингах данный сетевой протокол выключен. Для его включения необходимо найти соответствующий пункт в панели управления, открыть его и нажать в нем на кнопку «Включить SSH».

Если вы пользователь Windows 10, то клиент SSH включен в систему по умолчанию. Поэтому для выполнения команд на удаленном сервере, можно в этой версии Windows не устанавливать никакой дополнительный софт, а например, воспользоваться программой «Командная строка» или «Windows PowerShell».

ssh composer

Основные команды Composer

Разберем основные команды Composer для начинающих.

Если вы используете «composer.phar» локально, то приведённые команды необходимо соответственно изменить в зависимости от того как настроено ваше окружение.

Например, если файл «composer.phar» находится в текущем каталоге и интерпретатор php доступен без указания пути к нему, то установка пакета будет осуществляться так:

Установка пакета

Установка пакета через Composer осуществляется посредством выполнения следующей команды:

vendor — это имя поставщика php пакета, а package — это его название.

Например, добавление в проект пакета twig через composer будет осуществляться так:

Команда require не только загрузит требуемую библиотеку в проект, но и пропишет её ещё в файле «composer.json», т.е. обновит его. Если устанавливаемый пакет зависит от других библиотек, то они также будут установлены или обновлены. Кроме этого ещё будет обновлён файл «composer.lock».

Установка всех пакетов в проект

Установка сразу всех пакетов в проект осуществляется посредством команды:

Эта команда работает следующим образом:

Обновление зависимостей

Команда для обновления установленных библиотек:

Эта команда обновит все зависимости установленные в проекте до последних версий (в соответствии с «composer.json») и файл «composer.lock».

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

Команда для обновления одной библиотеки:

Удаление пакета

Команда Composer для удаления пакета из проекта:

Для удаления одновременно нескольких пакетов можете их перечислить через пробел:

Обновление Composer

Команда для обновления Сomposer до последней версии:

Обновление lock файла без обновления пакетов

Для обновления файла «composer.lock» без обновления самих пакетов:

Создать новый проект

Создание нового проекта из указанного пакета в текущую директорию выполняется так:

Создание нового проекта в указанную директорию выполняется так:

Вывод всех установленных библиотек

Команда для отображения всех установленных php пакетов:

Проверка валидности файла «composer.json»

Команда с помощью которой можно проверить валидность файла «composer.json»:

Вывод списка всех доступных команд

Вывести на экран все доступные команды Composer можно так:

Очистка внутреннего кэша пакетов Composer

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

Получение подробной справки по команде

Вывод подробной справки по команде:

Например, вывести подробную инструкцию по использованию команды require можно следующим образом:

Вывести зависимости для указанного пакета

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

Создание базового варианта файла composer.json с помощью мастера

Создание базового варианта файла composer.json с помощью мастера, т.е. посредством ответов на вопросы:

Примеры использования Composer для установки PHP фреймворков и CMS

Установка фреймворка Laravel в текущую директорию осуществляется через Composer посредством ввода следующей команды:

Установка последней версии фреймворка Yii2 через Composer:

Установка разрабатываемой версии MODX Revolution 3 через Composer:

Установка через Composer нового приложения Symfony, предназначенного для создания традиционных веб-приложений:

Установка Symfony для использования его для создания микросервисов, консольных приложений или API осуществляется так:

Установка Drupal через Composer:

Как удалить Composer

Composer — это файл. В большинстве случаев для удаления его достаточно просто удалить.

Если вы не помните куда был установлен Composer, то просто поищете, например, с помощью встроенной системы поиска операционной системы этот файл.

Но так удалять не всегда корректно, все зависит от того, как вы его устанавливали. Если у инструмента, с помощью которого вы его устанавливали, есть возможность и его удаление, то выполняйте это действие с помощью этого инструмента.

Например, если вы Composer устанавливали с помощью инструмента apt-get, то и используйте его для удаления этой программы.

Например, если вы устанавливали Сopmoser в Windows с помощью программы Composer-Setup.exe, то удаления программы выполняйте стандартным образом через «Приложения и возможности» (только в Windows 10) или через «Удаление или изменение программы».

Дополнительно можно удалить папку с внутренним кэшем Composer. В Linux эта папка расположена в «/home//.composer», в Windows – «C:\Users\\AppData\Roaming\Composer».

Источник

Моя дача
Adblock
detector