- Dependency management
- System Requirements
-
Installation — Linux / Unix / macOS
-
Downloading the Composer Executable
- Locally
- Globally
-
Downloading the Composer Executable
-
Installation — Windows
- Using the Installer
- Manual Installation
- Docker Image
- Using Composer
Composer is a tool for dependency management in PHP. It allows you to declare
the libraries your project depends on and it will manage (install/update) them
for you.
Dependency management#
Composer is not a package manager in the same sense as Yum or Apt are. Yes,
it deals with «packages» or libraries, but it manages them on a per-project
basis, installing them in a directory (e.g. vendor
) inside your project. By
default, it does not install anything globally. Thus, it is a dependency
manager. It does however support a «global» project for convenience via the
global command.
This idea is not new and Composer is strongly inspired by node’s
npm and ruby’s bundler.
Suppose:
- You have a project that depends on a number of libraries.
- Some of those libraries depend on other libraries.
Composer:
- Enables you to declare the libraries you depend on.
- Finds out which versions of which packages can and need to be installed, and
installs them (meaning it downloads them into your project). - You can update all your dependencies in one command.
See the Basic usage chapter for more details on declaring
dependencies.
System Requirements#
Composer in its latest version requires PHP 7.2.5 to run. A long-term-support
version (2.2.x) still offers support for PHP 5.3.2+ in case you are stuck with
a legacy PHP version. A few sensitive php settings and compile flags are also
required, but when using the installer you will be warned about any
incompatibilities.
Composer needs several supporting applications to work effectively, making the
process of handling package dependencies more efficient. For decompressing
files, Composer relies on tools like 7z
(or 7zz
), gzip
, tar
, unrar
,
unzip
and xz
. As for version control systems, Composer integrates seamlessly
with Fossil, Git, Mercurial, Perforce and Subversion, thereby ensuring the
application’s smooth operation and management of library repositories. Before
using Composer, ensure that these dependencies are correctly installed on your
system.
Composer is multi-platform and we strive to make it run equally well on Windows,
Linux and macOS.
Installation — Linux / Unix / macOS#
Downloading the Composer Executable#
Composer offers a convenient installer that you can execute directly from the
command line. Feel free to download this file
or review it on GitHub
if you wish to know more about the inner workings of the installer. The source
is plain PHP.
There are, in short, two ways to install Composer. Locally as part of your
project, or globally as a system wide executable.
Locally#
To install Composer locally, run the installer in your project directory. See
the Download page for instructions.
The installer will check a few PHP settings and then download composer.phar
to your working directory. This file is the Composer binary. It is a PHAR
(PHP archive), which is an archive format for PHP which can be run on
the command line, amongst other things.
Now run php composer.phar
in order to run Composer.
You can install Composer to a specific directory by using the --install-dir
option and additionally (re)name it as well using the --filename
option. When
running the installer when following
the Download page instructions add the
following parameters:
php composer-setup.php --install-dir=bin --filename=composer
Now run php bin/composer
in order to run Composer.
Globally#
You can place the Composer PHAR anywhere you wish. If you put it in a directory
that is part of your PATH
, you can access it globally. On Unix systems you
can even make it executable and invoke it without directly using the php
interpreter.
After running the installer following the Download page instructions
you can run this to move composer.phar to a directory that is in your path:
mv composer.phar /usr/local/bin/composer
If you like to install it only for your user and avoid requiring root permissions,
you can use ~/.local/bin
instead which is available by default on some
Linux distributions.
Note: If the above fails due to permissions, you may need to run it again
withsudo
.Note: On some versions of macOS the
/usr
directory does not exist by
default. If you receive the error «/usr/local/bin/composer: No such file or
directory» then you must create the directory manually before proceeding:
mkdir -p /usr/local/bin
.Note: For information on changing your PATH, please read the
Wikipedia article and/or use
your search engine of choice.
Now run composer
in order to run Composer instead of php composer.phar
.
Installation — Windows#
Using the Installer#
This is the easiest way to get Composer set up on your machine.
Download and run
Composer-Setup.exe. It will
install the latest Composer version and set up your PATH so that you can
call composer
from any directory in your command line.
Note: Close your current terminal. Test usage with a new terminal: This is
important since the PATH only gets loaded when the terminal starts.
Manual Installation#
Change to a directory on your PATH
and run the installer following
the Download page instructions
to download composer.phar
.
Create a new composer.bat
file alongside composer.phar
:
Using cmd.exe:
C:\bin> echo @php "%~dp0composer.phar" %*>composer.bat
Using PowerShell:
PS C:\bin> Set-Content composer.bat '@php "%~dp0composer.phar" %*'
Add the directory to your PATH environment variable if it isn’t already.
For information on changing your PATH variable, please see
this article and/or
use your search engine of choice.
Close your current terminal. Test usage with a new terminal:
C:\Users\username>composer -V
Composer version 2.4.0 2022-08-16 16:10:48
Docker Image#
Composer is published as Docker container in a few places, see the list in the composer/docker README.
Example usage:
docker pull composer/composer
docker run --rm -it -v "$(pwd):/app" composer/composer install
To add Composer to an existing Dockerfile you can simply copy binary file from pre-built, low-size images:
# Latest release
COPY --from=composer/composer:latest-bin /composer /usr/bin/composer
# Specific release
COPY --from=composer/composer:2-bin /composer /usr/bin/composer
Read the image description for further usage information.
Note: Docker specific issues should be filed on the composer/docker repository.
Note: You may also use composer
instead of composer/composer
as image name above. It is shorter and is a Docker official image but is not published directly by us and thus usually receives new releases with a delay of a few days. Important: short-aliased images don’t have binary-only equivalents, so for COPY --from
approach it’s better to use composer/composer
ones.
Using Composer#
Now that you’ve installed Composer, you are ready to use it! Head on over to the
next chapter for a short demonstration.
Basic usage →
Found a typo? Something is wrong in this documentation?
Fork and edit it!
#статьи
-
0
Подробный гайд по установке, автозагрузке и основным командам.
Иллюстрация: Катя Павловская для Skillbox Media
Пишет об истории IT, разработке и советской кибернетике. Знает Python, JavaScript и немного C++, но предпочитает писать на русском.
В проектах на PHP, будь то простые сайты, блоги или крупные системы с сотнями микросервисов, часто используется сторонний код. Например, библиотеки для формирования HTTP-запросов, работы с видео и изображениями, геолокацией и так далее. Это ускоряет разработку приложения и позволяет разработчикам не тратить время на задачи, которые уже решили другие программисты.
Несмотря на множество очевидных преимуществ, у такого подхода есть свои проблемы: часто сторонний код тоже использует функции других библиотек, и для безопасной разработки нужно быть уверенным в том, что эти библиотеки установлены на вашем компьютере. В мире PHP с этим (и не только) помогает утилита Composer, о которой и поговорим далее.
Содержание
- Что такое Composer
- Как установить Composer
- Синтаксис composer.json
- Основные команды Composer
Composer — это бесплатная программа, которая позволяет легко устанавливать, удалять и обновлять зависимости в проектах на PHP.
Зависимости — это любые внешние компоненты, которые используются в проекте: библиотеки, фреймворки, базы данных, CMS и так далее. Например, если вам нужно внедрить в проект функцию для хеширования паролей, можно не писать её с нуля, а использовать библиотеку — то есть добавить в проект зависимость.
Проблема в том, что по мере роста числа зависимостей работать с ними становится всё сложнее. Например, чтобы обновить библиотеку, вам придётся идти на сайт разработчика, скачивать архив и подключать его в проект. А если после обновления изменится сигнатура функций библиотеки или структура пространств имён, то проект и вовсе «рассыпется». Придётся исследовать исходный код и переписывать модули, в которых задействованы проблемные функции.
Поэтому разработчики используют менеджеры зависимостей, к коим и относится Composer.
Менеджер зависимостей решает следующие задачи:
- Скачивает зависимости из центрального репозитория и других источников (опционально).
- Формирует список зависимостей, необходимых для работы проекта.
- Обновляет их.
- Фиксирует стабильные версии библиотек и фреймворков, спасая разработчиков от неожиданной поломки проекта после обновления.
- Упрощает автозагрузку классов.
Если вы уже работали с другими языками программирования, такими как JavaScript, Python или Ruby, то наверняка пользовались пакетными менеджерами NPM, PIP или RubyGems. Composer выполняет аналогичные функции в экосистеме PHP.
Теперь коротко по каждому пункту.
Конечно, никто не запрещает скачивать пакеты командой git clone <имя_пакета> из GitHub. Однако этот способ влечёт за собой серьёзные проблемы, о которых мы поговорим чуть ниже.
До Composer для этих целей использовали другой репозиторий и одноимённый менеджер — PEAR (PHP Extension and Application Repository). Но у PEAR был ряд недостатков:
- все пакеты устанавливались глобально, то есть нельзя было использовать разные версии для разных проектов;
- каждый класс должен был решать уникальную задачу, из-за чего было практически невозможно добавлять альтернативные решения;
- чтобы пакет попал в PEAR, он должен был набрать достаточное количество голосов в сообществе.
К началу 2010-х PEAR перестал удовлетворять потребности PHP-разработчиков и в сообществе встал вопрос о новом менеджере зависимостей.
Появившийся в 2012 году Composer решал обозначенные проблемы. Он устанавливает пакеты на уровне проекта (в папку vendor) и позволяет поставщикам свободно добавлять библиотеки в репозиторий. По умолчанию Composer получает пакеты из центрального хранилища пакетов Packagist, но вы можете указать и другие источники в файле конфигурации.
Управление зависимостями не сводится к одному лишь скачиванию необходимого кода. Нельзя просто клонировать репозиторий в папку libs и подключить его. Практически у каждого пакета есть свой ряд зависимостей, у которых, в свою очередь, есть свой и так далее. Распутывать этот клубок довольно утомительно.
Рассмотрим проблему на примере популярной библиотеки Guzzle для отправки HTTP-запросов.
Клонируем репозиторий в папку проекта:
git clone https://github.com/guzzle/guzzle.git
Теперь у нас есть папка guzzle с исходниками и служебными файлами, но пользы от неё пока мало. При попытке инициализировать объект класса Client PHP ругается, что не нашёл некоторые классы:
require_once "guzzle/src/Client.php"; $newGuzzle = new \GuzzleHttp\Client();
Вывод:
Fatal error: Trait "GuzzleHttp\ClientTrait" not found in D:\xampp\htdocs\project_without_composer\guzzle\src\Client.php on line 17
Можно подключить их напрямую командой require или зарегистрировать автозагрузчик, но это поможет отыскать лишь классы, которые шли в пакете guzzle:
function guzzleAutoloader($classname) { $classnameGroup = explode('\\', $classname); $directories = ['', 'Cookie/', 'Exception/', 'Handler/']; foreach ($directories as $directory) { $filename = __DIR__ . "/guzzle/src/{$directory}" . end($classnameGroup) . ".php"; if(file_exists($filename)) { require_once($filename); } } } spl_autoload_register('guzzleAutoloader');
Вывод:
PHP Fatal error: Uncaught Error: Interface "Psr\Http\Client\ClientInterface" not found in D:\xampp\htdocs\project_without_composer\guzzle\src\Client.php:17
Psr\Http\Client\ClientInterface и прочие классы придётся устанавливать отдельно. Полный их список можно найти в секции require файла guzzle/composer.json.
Без Composer мы бы вручную устанавливали каждый компонент и писали для них автозагрузчики, пока интерпретатор не перестал бы «ругаться». C Composer достаточно такой команды:
composer require <полное_имя_пакета>
Эта команда пройдётся по дереву зависимостей и сама всё установит.
Почти все современные PHP-проекты на GitHub содержат файл composer.json, в котором хранится список зависимостей вместе с информацией об их версиях. Если файл составлен корректно, то вам даже не нужно знать названия компонентов: достаточно ввести команду composer install, и умница-менеджер сделает всё за вас.
Подробнее о composer.json читайте в разделе «Синтаксис composer.json».
Неизменный спутник composer.json — его тёзка composer.lock. Из-за схожих названий и синтаксиса их часто путают, но на самом деле оба файла незаменимы и выполняют чётко определённые задачи. Если в composer.json перечислены зависимости и их минимальные версии, то composer.lock содержит информацию о точных версиях зависимостей, которые использовались во время разработки и тестирования.
Слово lock в расширении появилось не случайно: файл будет блокировать попытки обновить библиотеки до более свежих версий, чем те, что в нём указаны. Таким образом, например, можно гарантировать одинаковые условия для всех разработчиков в проекте.
Composer упрощает подключение файлов благодаря собственному универсальному автозагрузчику. С ним можно почти забыть о директивах include и require — достаточно подключить файл vendor/autoload.php, после чего любой класс, именованный в соответствии с PSR-4, будет подключаться только тогда и в том месте, где это потребуется.
Composer можно установить глобально или локально. В первом случае менеджер будет доступен для работы из любого каталога; при локальной установке — только из папки, которую вы выберете.
Ниже приведены самые доступные и простые способы установки для трёх основных операционных систем: Windows, macOS и Linux.
Важно!
Composer — это набор скриптов на PHP, поэтому перед установкой убедитесь, что на вашем компьютере установлен PHP.
Самый простой способ — скачать, запустить исполняемый файл Composer-Setup.exe с официального сайта и следовать указаниям установщика. Экзешник сам добавит путь к Composer в переменную PATH, открыв к нему глобальный доступ.
Порядок установки:
- Перейдите на официальный сайт Composer и скачайте установщик, нажав на кнопку Composer-Setup.exe. Запустите его.
- Следуйте инструкциям установщика. Укажите путь к PHP, если он не обнаруживается автоматически (например, D:\xampp\php\php.exe в XAMPP). Завершите установку, нажав Install.
- Проверьте установку. Откройте командную строку (нажмите Win + R, введите cmd и нажмите Enter). Введите команду composer и убедитесь, что выводится текст, подтверждающий успешную установку:
Второй способ — ручной, через командную строку (cmd.exe) или PowerShell. С его описанием вы можете ознакомиться в официальной документации.
1. Откройте терминал и обновите список пакетов:
sudo apt update
2. Убедитесь, что на вашей машине установлены расширения, необходимые для корректной работы Composer:
sudo apt install curl php-cli php-mbstring git unzip
3. Установите программу с помощью утилиты install:
sudo apt install composer
4. Проверьте установку командой composer. В случае успеха терминал вернёт следующий текст:
В macOS самый простой и предпочтительный способ установки — с помощью утилиты Homebrew:
- Убедитесь, что Homebrew установлен на вашем компьютере. Для этого откройте терминал и введите команду brew -v. Если Homebrew не установлен, сделайте это по инструкции с официального сайта.
- Установите Composer командой brew install composer.
- Проверьте установку: введите в терминале команду composer и убедитесь, что выводится текст, подтверждающий успешную установку.
В composer.json описаны зависимости проекта в формате JSON. Как уже было сказано ранее, он позволяет одной командой установить все необходимые сторонние компоненты.
Файл хранит следующую информацию:
- списки зависимостей для продакшена и разработки;
- директории, в которых автозагрузчик будет искать классы;
- справочная информация (имя и тип проекта, описание, ключевые слова, лицензия);
- конфигурации Composer.
Содержимое файла представляет собой простой JSON-объект с ключами и значениями:
{ "name": "laravel/laravel", "type": "project", "description": "The skeleton application for the Laravel framework.", "keywords": ["laravel", "framework"], "license": "MIT", "require": { "php": "^8.2", "doctrine/dbal": "^4.0", "guzzlehttp/guzzle": "^7.8", "laravel/framework": "^11.9", "laravel/tinker": "^2.9", "spatie/laravel-html": "^3.11" }, "require-dev": { "fakerphp/faker": "^1.23", "laravel/pint": "^1.13", "laravel/sail": "^1.26", "mockery/mockery": "^1.6", "nunomaduro/collision": "^8.0", "phpunit/phpunit": "^11.0.1" }, "autoload": { "psr-4": { "App\\": "app/", "Database\\Factories\\": "database/factories/", "Database\\Seeders\\": "database/seeders/" }, "files": [ "app/Helpers/helpers.php" ] } }
Ключи в JSON всегда берутся в кавычки, а значениями могут быть как числа, булевы значения, сроки и массивы, так и вложенные объекты. За более подробным описанием JSON приглашаем в нашу статью об этом формате.
Как правило, файл не нужно создавать самостоятельно: он сам появится после первого запуска команды require. Но если вы планируете разместить код в публичном репозитории, например Packagist, то придётся вручную добавить справочную информацию и настройки автозагрузчика.
Теперь познакомимся с некоторыми свойствами.
name — имя пакета. Оно состоит из имени вендора и имени пакета, разделёнными прямым слешем /. Именно его пользователи будут вызывать при установке, поэтому для публичных проектов параметр необходим.
type — тип пакета, по умолчанию принято ставить library («библиотека»). Поле используется для определения порядка установки и развёртывания пакета. Например, файлы из library будут скопированы в папку vendor, а пакет metapackage не содержит никаких файлов, зато вызовет установку других пакетов, содержащихся в графе require.
description — короткое описание проекта (обязательно для публичных пакетов).
keywords — массив ключевых слов, по которым можно найти пакет командой composer search.
require — тот самый список зависимостей. В примере выше (это реальный composer.json проекта на Laravel) рядом с каждой версией стоит знак каретки ^, который ограничивает мажорную версию. Это значит, что при работе над проектом лучше ограничиться PHP v8, Laravel v11, PHPUnit v11 и так далее.
Другие символы версионирования в Composer:
- <, >, <=, >= и ! = — диапазон версий, например >=1.1.0<=1.1.8;
- — — диапазон версий через дефис, например 1.1.0-1.18;
- * — подстановка, например 1.1.*;
- ~ — последний разряд должен быть равен или больше указанного. Например, ~1.1.3 эквивалентен >=1.1.3<1.2.
autoload — список директорий, в которых автозагрузчик будет искать классы.
Composer предоставляет четыре метода автозагрузки:
- Файловый — файлы подключаются целиком, по аналогии с require и include. Полезно, когда нужно подключить наборы функций.
- Карты классов — Composer получает список директорий, составляет список классов, которые в них хранятся, и автоматически загружает их при необходимости.
- PSR-0 — каждому пространству имён в соответствие ставится директория (пара «ключ — значение»), при этом структура папок должна воспроизводить структуру пространства имён. Например, если класс LoginController находится в пространстве App\Http\Controllers, то файл LoginController.php должен лежать в папке App\Http\Controllers.
- PSR-4 — то же, что и PSR-0, но структура папок не должна имитировать структуру пространств имён.
Для каждого из методов есть своя секция в разделе autoload: files, classmap, psr-0 и psr-4. Чаще всего вы будете работать с psr-4 — современным стандартом автозагрузки в PHP — и чуть реже с files.
Теперь, когда вы знакомы с устройством Composer, пришло время узнать его основные команды.
Пожалуй, самая популярная задача, которую разработчики решают с помощью Composer, — установка библиотек и фреймворков. Для этого есть команда require:
composer require <имя_пакета>
Сразу возникает вопрос: а как узнать точное имя искомого пакета? Кратчайший путь лежит через поисковики: гуглим или яндексим библиотеку, копируем название с официального сайта или из README на GitHub и передаём команде require.
Скриншот: Guzzle / GitHub
Жмём Enter — и вуаля! Composer начинает установку зависимостей, о чём станет понятно по череде сообщений оптимистичного зелёного цвета в терминале. Если установка прошла без проблем, Composer покажет версию установленного пакета.
Обычно в корневой папке PHP-проектов на GitHub лежит файл composer.json со списком необходимых пакетов (о нём мы говорили выше). С помощью этого файла можно установить все зависимости одной командой:
composer install
После выполнения команды в корневой директории появится папка vendor с файлами зависимостей и автозагрузчиком autoload.php.
В 99% случаев установка проходит без сучка и задоринки. Проблемы могут доставить пакеты, которые используют функции отсутствующих расширений. Composer сообщит о них в отчёте:
league/flysystem-local 3.28.0 requires ext-fileinfo * -> it is missing from your system. Install or enable PHP's fileinfo extension.
Обычно проблема решается банальным раскомментированием соответствующей строки в php.ini. Но даже если расширения нет в списке — не страшно: его можно скачать в виде файла в формате .dll (в Windows) или .so (в Linux), скопировать в папку с расширениями (точный путь зависит от операционной системы и версии PHP) и прописать название файла в php.ini.
Обновить все зависимости в проекте можно с помощью команды:
composer update
Для обновления конкретной зависимости укажите её имя:
composer update <vendor-name/project-name>
У Composer обновления тоже выходят регулярно. Чтобы обновиться до последней версии, используйте следующую команду:
composer self-update
Для установки последней стабильной версии добавьте флаг — stable.
Команда remove удаляет пакет из проекта:
composer remove <vendor-name/project-name>
После выполнения пакет исчезнет из папки vendor и разделов require и require-dev файла composer.json.
Чтобы composer отработал установку пакетов так, как вы этого ожидаете, файл composer.json должен быть составлен корректно.
Для этого есть команда:
composer validate
Если файл составлен корректно, вы увидите следующее сообщение:
./composer.json is valid
В противном случае Composer укажет на ошибки:
./composer.json is valid for simple usage with Composer but has strict errors that make it unable to be published as a package See https://getcomposer.org/doc/04-schema.md for details on the schema # Publish errors - description : The property description is required
В этом примере файл вполне пригоден для использования. Но если мы захотим разместить проект в центральном репозитории Packagist, то он не пройдёт проверку, потому что в composer.json нет поля description.
Мы познакомились с основами Composer — незаменимого помощника в установке, обновлении и управлении зависимостями в проектах на языке PHP. Мы узнали, как его установить, что такое composer.json и composer.lock, как правильно «готовить» эти файлы и решить некоторые распространённые проблемы, связанные с развёртыванием приложений на их основе.
Сегодня Composer используется практически везде, поэтому бэкенд-разработчику полезно знать не только основные команды, но и принципы, по которым Composer управляет зависимостями в проектах.
Бесплатный курс по Python ➞
Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе.
Смотреть программу
Last Updated :
11 Sep, 2024
Composer is essentially a package manager for PHP. You can effectively manage libraries and packages in your PHP projects by using Composer, a dependency management for PHP. Composer makes package management easier for both small and large-scale applications by automating the installation and update of dependencies. A package manager is, it allows anyone to import codebases into the project & keep them up to date. It just helps you to manage those dependencies.
In this article, we will look into the process of installing a composer on a Windows system.
Prerequisites
Make sure your machine satisfies the following prerequisites before you start:
- Windows 10 or later: Although the instructions are specific to Windows 10, they should also apply to earlier versions of the OS.
- PHP: Installing PHP on your computer is necessary for Composer to work. Installing PHP is required if it isn’t already installed before continuing.
Installation of PHP composer on Windows:
Follow the below steps to install PHP composer on a Windows system:
Step 1: Navigate to the official composer website.
Step 2: Then click on the Download button.
Step 3: Then click on the Composer-Setup.exe & download the file.
Step 4: Then click on «Install for all users».
Step 5: Do not make any changes & click Next
Step 6: First, you have to install PHP on your computer. You can see the installation location here. Click Next.
Step 7: Do not make any changes & click Next.
Step 8: Do not make any changes & click Install.
Step 9: Wait for the installation.
Step 10: Do not make any changes, just leave it & click Next.
Step 11: Click Finish, Composer is installed successfully.
Step 12: Open the command prompt & execute the below command :
composer
Hence you can see all the details & your installation is successful.
Conclusion
PHP Composer is a very simple tool for managing dependencies in PHP projects; it’s easy to install, update, and manage packages with Composer, which makes your development process more organized and productive. Installing PHP Composer on Windows is a simple process.
Also Read
- How to install PHP in windows 10
- How to Install PHP Composer on cPanel?
- How to Install and use PHP Composer on Linux?
В данной статье разберем как установить и создать первый проект на для различных версий Symfony и Composer
В начале стоит убедиться что у вас уже установлен php требуемой для ваших задач версии. Для этого откройте командную строку (в моем случае git bash) и напишите команду:
$ php --version
После чего у вас появится сообщения типа:
PHP 7.4.30 (cli) (built: Jun 7 2022 15:36:03) ( NTS Visual C++ 2017 x64 )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
Если же у вас не установлен php, то стоит посмотреть данный гайд.
Composer
Установить composer можно несколькими способами, но самым простым и понятным является установка через Windows инсталлятор. Для этого заходим на официальный сайт и нажимаем кнопку download.
После чего нажимаем на Composer-Setup.exe.
После чего просто запускаем exe файл и производим установку. По завершению установки снова открываем командную строку и пишем composer. У вас должна появиться следующая картинка.
$ composer
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.10.10 2020-08-03 11:35:19
Usage:
command [options] [arguments]
Options:
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
--profile Display timing and memory usage information
--no-plugins Whether to disable plugins.
-d, --working-dir=WORKING-DIR If specified, use the given directory as workin g directory.
--no-cache Prevent use of the cache
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for norma l output, 2 for more verbose output and 3 for debug
В вашем случае будет установлена последняя версия composer, однако в некоторых случаях, для работы, нам может потребоваться более старая версия composer, в таком случае наиболее простым способом является даунгрейд установленной версии.
Допустим нам нужна версия composer 1.10.10 (может быть любая другая требуемая версия), для этого вам потребуется скачать composer.phar файл требуемой версии и положить в вашу директорию, после чегопишем в консоли:
composer self-update 1.10.10
После чего вы можете проверить версию композера написав:
composer --version
В случае если вам требуется вновь вернуться на последнюю версию, вы можете без особых проблем сделать это в одну командку, написав в консоли:
composer self-update --rollback
На этом установка Composer завершена, приступаем к установке Symfony
Symfony
В случае с симфони также как и с композером существует несколько путей для усановки, мы рассмотрим самый простой способ (на мой взгляд), через composer. Для того что бы посмотреть все варианты установки вы можете посетить оффициальный сайт и прочитать подробный гайд по установке.
И так, для успешной установки symfony, последней версии, зайдите в папку с проектами в заранее установленном xampp (или его аналоге). И в командной строке напишите:
composer create-project symfony/skeleton:"6.1.*" my_project_directory
После чего переходим в директорию созданного проекта
cd my_project_directory
Скачиваем в него некоторые зависимости и даже основные каталоги и файлы, которые вам понадобятся для начала работы:
Если требуется более старая версия Symfony
Тогда вы можете выбрать интересующую вас версию на сайте и посмотреть подробный гайд. Мы же рассмотрим пример установки версии Symfony 2.8.
Для этого, также, находясь в папке с проектами пишем:
composer create-project symfony/framework-standard-edition my_test_project "2.8.*"
После чего переходим в папку с проектом
cd my_test_project/
И запускаем проект
php app/console server:run
На этом установка Symfony завершена!
Для того что бы убедится, что всё прошло успешно вы можете, находясь в папке с проектом, написать одну и следующих команд и увидеть вами установленую версию
Для версий разных версий будут подходить разные команды:
1 способ
$ php bin/console --version
#Response
Symfony 5.1.2 (env: prod, debug: false)
2 способ
$ php app/console --version
#Response
Symfony version 2.4.1 - app/dev/debug
3 способ
$ php ./symfony --version
#Response
symfony version 1.4.21-punkave (/var/www/p/releases/20200504161617/lib/vendor/symfony/lib)
На этом всё, надеюсь эта статья будет полезна новичкам. Спасибо за прочтение!
Composer — это пакетный менеджер уровня приложений для языка программирования PHP. Он предоставляет средства по управлению зависимостями в PHP-приложении, как, например, Google Play или AppStore обеспечивают доступ к установке приложений на смартфонах.
Для работы Composer, конечно же, необходим уже установленный PHP.
Установка на Windows
Десктоп
Для установки последней версии Сomposer на операционную систему Windows достаточно скачать файл-установщик. Он автоматически запишет Composer в переменную окружения PATH, и вызов менеджера будет возможен из любой директории.
В процессе установки необходимо указать путь к исполняемому файлу php.exe:
Далее необходимо следовать инструкциям установщика.
По завершению установки нужно запустить команду composer и убедиться, что Сomposer заработал корректно.
Установка из командной строки
Перейдите в каталог, указанный в переменной окружения PATH, и скачайте туда установщик. При запуске он скачает файл composer.phar. Далее создайте файл composer.bat рядом с установщиком:
C:\bin>echo @php "%~dp0composer.phar" %*>composer.bat
Так как директория уже в переменной PATH, нам не нужно указывать в ней путь к файлу. После закрытия текущего терминала можно проверить установку в новом открытом терминале:
C:\Users\username>composer -V
Результат должен быть примерно таким:
Composer version 1.3.3 2020-01-10 20:34:53
Установка на *nix и mac
Для установки необходимо скачать установщик и сохранить его как composer-setup.php:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Перед установкой нужно решить, как установить Сomposer: глобально или локально. Локальная установка позволяет запускать Сomposer в директории, в которой он установлен. Глобальная установка позволит работать из любой директории.
Локально
Для локальной установки необходимо запустить файл composer-setup.php в папке с вашим проектом. Установщик проверит настройки php и скачает файл composer.phar в эту же папку.
.phar — это архив PHP, который может быть запущен из командной строки.
Локальная установка завершена. Запустить Сomposer и приступить к работе можно с помощью команды:
php composer.phar
Глобально
Для удобства можно настроить вызов без использования интерпретатора php. После запуска установщика можно переместить composer.phar в нужную директорию.
mv composer.phar /usr/local/bin/composer
Чтобы установить Сomposer для одного пользователя и не требовать для запуска права суперпользователя, можно использовать директорию ~/.local/bin, доступную во многих дистрибутивах Linux.
В некоторых версиях macOS каталог /usr по умолчанию не существует. Если вы получаете сообщение об ошибке «/usr/local/bin/composer: No such file or directory», то вам необходимо создать директорию вручную, прежде чем продолжить:
mkdir -p /usr/local/bin
Теперь можно запускать Composer командой
composer
из любой директории вместо локального использования
Установка Composer завершена, он готов к использованию.