mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-23 17:41:41 +00:00
Add Russian translation of Composer
This commit is contained in:
parent
65a25a7178
commit
4bbe5dced4
195
ru-ru/php-composer-ru.html.markdown
Normal file
195
ru-ru/php-composer-ru.html.markdown
Normal file
@ -0,0 +1,195 @@
|
||||
---
|
||||
category: tool
|
||||
tool: composer
|
||||
contributors:
|
||||
- ["Alesey Lysenko", "https://github.com/nasgul"]
|
||||
filename: LearnComposer.sh
|
||||
lang: ru-ru
|
||||
---
|
||||
|
||||
[Composer](https://getcomposer.org/) это инструмент управления зависимостями в PHP.
|
||||
Он позволяет вам декларировать библиотеки, от которых зависит ваш проект,
|
||||
и он будет управлять (устанавливать / обновлять) их для вас.
|
||||
|
||||
# Установка
|
||||
|
||||
```sh
|
||||
# Устанавливаем composer.phar в текущую папку
|
||||
curl -sS https://getcomposer.org/installer | php
|
||||
# Если вы используете этот подход, вам нужно будет вызвать композер следующим образом:
|
||||
php composer.phar about
|
||||
|
||||
# Устанавливаем с бинарников ~/bin/composer
|
||||
# Примечание: убедитесь, что ~/bin находится в переменной PATH вашего окружения
|
||||
curl -sS https://getcomposer.org/installer | php -- --install-dir=~/bin --filename=composer
|
||||
```
|
||||
|
||||
Пользователи Windows должны следовать
|
||||
[Инструкциям по установке в Windows ](https://getcomposer.org/doc/00-intro.md#installation-windows)
|
||||
|
||||
## Подтверждение установки
|
||||
|
||||
```sh
|
||||
# # Проверить версию и параметры списка
|
||||
composer
|
||||
|
||||
# Получить дополнительную помощь для параметров
|
||||
composer help require
|
||||
|
||||
# Проверьте, способен ли Composer делать то, что ему нужно, и если он обновлен
|
||||
композитор диагностирует
|
||||
composer diagnose
|
||||
composer diag # shorthand
|
||||
|
||||
# Обновление Composer к последней версии
|
||||
composer self-update
|
||||
composer self # shorthand
|
||||
```
|
||||
|
||||
# Использование
|
||||
|
||||
Композитор сохраняет ваши зависимости проекта в `composer.json`.
|
||||
Вы можете отредактировать этот файл, но лучше всего позволить Composer управлять им для вас.
|
||||
```sh
|
||||
# Создать новый проект в текущей папке
|
||||
composer init
|
||||
# запускается интерактивная анкета с просьбой предоставить подробную информацию о вашем проекте.
|
||||
# Оставляя их пустым, все прекрасно, если вы не делаете другие проекты зависимыми от этого.
|
||||
|
||||
# Если файл composer.json уже существует, загрузите зависимости
|
||||
composer install
|
||||
|
||||
# Чтобы загрузить только производственные зависимости, т. Е. Исключая зависимости разработки
|
||||
composer install --no-dev
|
||||
|
||||
# Добавить зависимость от этого проекта
|
||||
composer require guzzlehttp/guzzle
|
||||
# выяснит, какая последняя версия guzzlehttp / guzzle есть,
|
||||
# загрузите ее и добавьте новую зависимость в поле require.console.
|
||||
|
||||
composer require guzzlehttp/guzzle:6.0.*
|
||||
# будет загружать последнюю версию, соответствующую шаблону (например, 6.0.2),
|
||||
# и добавить зависимость к полю require.json
|
||||
|
||||
composer require --dev phpunit/phpunit:~4.5.0
|
||||
# потребуется как зависимость от разработки.
|
||||
# Будет использовать последнюю версию> = 4.5.0 и <4.6.0
|
||||
|
||||
composer require-dev phpunit/phpunit:^4.5.0
|
||||
# потребуется как зависимость от разработки. Будет использовать последнюю версию> = 4.5.0 и <5.0
|
||||
|
||||
# Для получения дополнительной информации о совместимости версий Composer см.
|
||||
# [Документация композитора по версиям] (https://getcomposer.org/doc/articles/versions.md)
|
||||
# для получения более подробной информации
|
||||
|
||||
# Чтобы узнать, какие пакеты доступны для установки и в настоящее время установлены
|
||||
composer show
|
||||
|
||||
# Чтобы узнать, какие пакеты в настоящее время установлены
|
||||
composer show --installed
|
||||
|
||||
# Чтобы найти пакет с «mailgun» в его названии или описании
|
||||
composer search mailgun
|
||||
```
|
||||
|
||||
[Packagist.org](https://packagist.org/) является основным хранилищем для пакетов Composer.
|
||||
Поиск там для существующих сторонних пакетов.
|
||||
## `composer.json` vs `composer.lock`
|
||||
|
||||
Файл `composer.json` хранит ваши параметры плавающей версии вашего проекта для каждой зависимости,
|
||||
а также другую информацию.
|
||||
|
||||
|
||||
Файл `composer.lock` хранит точно, какую версию он загрузил для каждой зависимости.
|
||||
Никогда не редактируйте этот файл.
|
||||
|
||||
Если вы включите файл `composer.lock` в свой репозиторий git,
|
||||
каждый разработчик установит текущую версию зависимостей.
|
||||
Даже когда выпущена новая версия зависимости, Composer продолжит загрузку версии,
|
||||
записанной в файле блокировки.
|
||||
|
||||
```sh
|
||||
# Если вы хотите обновить все зависимости до их новейшей версии,
|
||||
# которые по-прежнему соответствуют вашим предпочтениям в версии обновление композитора
|
||||
composer update
|
||||
|
||||
# Если вам нужна новая версия определенной зависимости:
|
||||
composer update phpunit/phpunit
|
||||
|
||||
# Если вы хотите перенести пакет на более новую версию,
|
||||
# вам может потребоваться сначала удалить старый пакет и его зависимости.
|
||||
composer remove --dev phpunit/phpunit
|
||||
composer require --dev phpunit/phpunit:^5.0
|
||||
|
||||
```
|
||||
|
||||
## Автозагрузчик
|
||||
|
||||
Composer создает класс автозагрузки, который вы можете потребовать от своего приложения.
|
||||
Вы можете создавать экземпляры классов через их пространство имен.
|
||||
|
||||
```php
|
||||
require __DIR__ . '/vendor/autoload.php';
|
||||
|
||||
$mailgun = new Mailgun\Mailgun("key");
|
||||
```
|
||||
|
||||
### PSR-4 Autoloader
|
||||
|
||||
### Автозагрузчик PSR-4
|
||||
|
||||
Вы можете добавить свои собственные пространства имен в автозагрузчик.
|
||||
|
||||
Вы можете добавить свои собственные пространства имен в автозагрузчик.
|
||||
|
||||
В `composer.json` добавьте поле 'autoload':
|
||||
|
||||
```json
|
||||
{
|
||||
"autoload": {
|
||||
"psr-4": {"Acme\\": "src/"}
|
||||
}
|
||||
}
|
||||
```
|
||||
Это скажет автозагрузчику искать что-либо в пространстве имен `\ Acme \` в папке `src`.
|
||||
|
||||
Вы также можете использовать
|
||||
[PSR-0, Classmap или просто список файлов для включения] (https://getcomposer.org/doc/04-schema.md#autoload).
|
||||
Также существует поле `autoload-dev` для пространств имен, предназначенных только для разработки.
|
||||
|
||||
При добавлении или изменении ключа автозагрузки вам необходимо перестроить автозагрузчик:
|
||||
|
||||
```sh
|
||||
composer dump-autoload
|
||||
composer dump # shorthand
|
||||
|
||||
# Оптимизирует пакеты PSR0 и PSR4 для загрузки классов.
|
||||
# Медленно запускается, но улучшает производительность при производстве.
|
||||
composer dump-autoload --optimize --no-dev
|
||||
```
|
||||
|
||||
# Composer Кэш
|
||||
|
||||
```sh
|
||||
# Composer сохранит загруженные пакеты для использования в будущем. Очистите его с помощью:
|
||||
composer clear-cache
|
||||
```
|
||||
|
||||
# Поиск проблемы
|
||||
|
||||
```sh
|
||||
composer diagnose
|
||||
composer self-update
|
||||
composer clear-cache
|
||||
```
|
||||
|
||||
## Темы, которые пока (пока) не включены в этот учебник
|
||||
|
||||
* Создание и распространение ваших собственных пакетов на Packagist.org или в другом месте
|
||||
* Предварительные и пост-скриптовые перехватчики: запуск задач,
|
||||
когда происходят определенные события композитора
|
||||
|
||||
### Рекомендации
|
||||
|
||||
* [Composer - Dependency Manager for PHP](https://getcomposer.org/)
|
||||
* [Packagist.org](https://packagist.org/)
|
Loading…
Reference in New Issue
Block a user