summaryrefslogtreecommitdiffhomepage
path: root/ru-ru
diff options
context:
space:
mode:
Diffstat (limited to 'ru-ru')
-rw-r--r--ru-ru/php-composer-ru.html.markdown119
-rw-r--r--ru-ru/yaml-ru.html.markdown189
2 files changed, 249 insertions, 59 deletions
diff --git a/ru-ru/php-composer-ru.html.markdown b/ru-ru/php-composer-ru.html.markdown
index ef6e4912..4bdf1029 100644
--- a/ru-ru/php-composer-ru.html.markdown
+++ b/ru-ru/php-composer-ru.html.markdown
@@ -2,24 +2,26 @@
category: tool
tool: composer
contributors:
- - ["Alesey Lysenko", "https://github.com/nasgul"]
+ - ["Brett Taylor", "https://github.com/glutnix"]
+translators:
+ - ["Aleksey Lysenko", "https://github.com/nasgul"]
filename: LearnComposer-ru.sh
lang: ru-ru
---
-[Composer](https://getcomposer.org/) это инструмент управления зависимостями в PHP.
+[Composer](https://getcomposer.org/) — это инструмент управления зависимостями в PHP.
Он позволяет вам декларировать библиотеки, от которых зависит ваш проект,
-и он будет управлять (устанавливать / обновлять) их для вас.
+и он будет управлять ими, то есть устанавливать/обновлять их для вас.
# Установка
```sh
# Устанавливаем composer.phar в текущую папку
curl -sS https://getcomposer.org/installer | php
-# Если вы используете этот подход, вам нужно будет вызвать композер следующим образом:
+# Если вы используете этот подход, вам нужно будет вызвать Composer следующим образом:
php composer.phar about
-# Устанавливаем с бинарников ~/bin/composer
+# Устанавливаем бинарный файл в ~/bin/composer
# Примечание: убедитесь, что ~/bin находится в переменной PATH вашего окружения
curl -sS https://getcomposer.org/installer | php -- --install-dir=~/bin --filename=composer
```
@@ -30,58 +32,59 @@ curl -sS https://getcomposer.org/installer | php -- --install-dir=~/bin --filena
## Подтверждение установки
```sh
-# # Проверить версию и параметры списка
+# # Проверить версию и перечислить параметры
composer
# Получить дополнительную помощь для параметров
composer help require
-# Проверьте, способен ли Composer делать то, что ему нужно, и если он обновлен
-композитор диагностирует
+# Проверить, способен ли Composer делать то, что ему нужно, и обновлён ли он
composer diagnose
-composer diag # shorthand
+composer diag # краткий вариант
-# Обновление Composer к последней версии
+# Обновление Composer до последней версии
composer self-update
-composer self # shorthand
+composer self # краткий вариант
```
# Использование
-Композитор сохраняет ваши зависимости проекта в `composer.json`.
-Вы можете отредактировать этот файл, но лучше всего позволить Composer управлять им для вас.
+Composer сохраняет ваши зависимости проекта в `composer.json`.
+Вы можете отредактировать этот файл, но лучше всего позволить Composer управлять им за вас.
```sh
# Создать новый проект в текущей папке
composer init
# запускается интерактивная анкета с просьбой предоставить подробную информацию о вашем проекте.
-# Оставляя их пустым, все прекрасно, если вы не делаете другие проекты зависимыми от этого.
+# Вы прекрасно можете оставить ответы пустыми, если не делаете другие проекты
+# зависимыми от создаваемого проекта.
# Если файл composer.json уже существует, загрузите зависимости
composer install
-# Чтобы загрузить только производственные зависимости, т. Е. Исключая зависимости разработки
+# Чтобы загрузить только зависимости для готового продукта, т.е.
+# исключая зависимости для разработки
composer install --no-dev
-# Добавить зависимость от этого проекта
+# Добавить зависимость для готового продукта к этому проекту
composer require guzzlehttp/guzzle
-# выяснит, какая последняя версия guzzlehttp / guzzle есть,
-# загрузите ее и добавьте новую зависимость в поле require.console.
+# выяснит, какая существует последняя версия guzzlehttp / guzzle,
+# загрузит её и добавит новую зависимость в поле require файла composer.json.
composer require guzzlehttp/guzzle:6.0.*
-# будет загружать последнюю версию, соответствующую шаблону (например, 6.0.2),
-# и добавить зависимость к полю require.json
+# Загрузит последнюю версию, соответствующую шаблону (например, 6.0.2),
+# и добавит зависимость к полю require файла composer.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
+# Добавит как зависимость для разработки.
+# Будет использовать последнюю версию> = 4.5.0 и <5.0
# Для получения дополнительной информации о совместимости версий Composer см.
-# [Документация композитора по версиям] (https://getcomposer.org/doc/articles/versions.md)
-# для получения более подробной информации
+# [Документацию Composer по версиям] (https://getcomposer.org/doc/articles/versions.md)
# Чтобы узнать, какие пакеты доступны для установки и в настоящее время установлены
composer show
@@ -89,36 +92,37 @@ composer show
# Чтобы узнать, какие пакеты в настоящее время установлены
composer show --installed
-# Чтобы найти пакет с «mailgun» в его названии или описании
+# Чтобы найти пакет со строкой «mailgun» в названии или описании
composer search mailgun
```
[Packagist.org](https://packagist.org/) является основным хранилищем для пакетов Composer.
-Поиск там для существующих сторонних пакетов.
+Существующие сторонние пакеты ищите там.
-## `composer.json` vs `composer.lock`
+## composer.json` и `composer.lock`
-Файл `composer.json` хранит ваши параметры плавающей версии вашего проекта для каждой зависимости,
-а также другую информацию.
+Файл `composer.json` хранит параметры допустимых версий каждой зависимости
+вашего проекта, а также другую информацию.
-Файл `composer.lock` хранит точно, какую версию он загрузил для каждой зависимости.
+Файл `composer.lock` хранит точную загруженную версию каждой зависимости.
Никогда не редактируйте этот файл.
-Если вы включите файл `composer.lock` в свой репозиторий git,
-каждый разработчик установит текущую версию зависимостей.
-Даже когда выпущена новая версия зависимости, Composer продолжит загрузку версии,
-записанной в файле блокировки.
+Если вы включите файл `composer.lock` в свой Git-репозиторий,
+каждый разработчик установит версии зависимостей, которые вы используете.
+Даже когда будет выпущена новая версия зависимости, Composer продолжит загрузку версии,
+записанной в lock-файле.
```sh
-# Если вы хотите обновить все зависимости до их новейшей версии,
-# которые по-прежнему соответствуют вашим предпочтениям в версии обновление композитора
+# Если вы хотите обновить все зависимости до новейших версий,
+# которые по-прежнему соответствуют вашим предпочтениям для версий
composer update
-# Если вам нужна новая версия определенной зависимости:
+# Если вам нужна новая версия определённой зависимости:
composer update phpunit/phpunit
-# Если вы хотите перенести пакет на более новую версию,
+# Если вы хотите перенести пакет на более новую версию
+#с изменением предпочитаемой версии,
# вам может потребоваться сначала удалить старый пакет и его зависимости.
composer remove --dev phpunit/phpunit
composer require --dev phpunit/phpunit:^5.0
@@ -126,8 +130,8 @@ composer require --dev phpunit/phpunit:^5.0
## Автозагрузчик
-Composer создает класс автозагрузки, который вы можете потребовать от своего приложения.
-Вы можете создавать экземпляры классов через их пространство имен.
+Composer создаёт класс автозагрузки, который вы можете вызвать
+из своего приложения. Вы можете создавать экземпляры классов через пространство имён.
```php
require __DIR__ . '/vendor/autoload.php';
@@ -135,15 +139,12 @@ require __DIR__ . '/vendor/autoload.php';
$mailgun = new Mailgun\Mailgun("key");
```
-### PSR-4 Autoloader
+### PSR-4-совместимый автозагрузчик
-### Автозагрузчик PSR-4
-Вы можете добавить свои собственные пространства имен в автозагрузчик.
+Вы можете добавить в автозагрузчик свои собственные пространства имён.
-Вы можете добавить свои собственные пространства имен в автозагрузчик.
-
-В `composer.json` добавьте поле 'autoload':
+Добавьте поле `autoload` в `composer.json`:
```json
{
@@ -152,31 +153,31 @@ $mailgun = new Mailgun\Mailgun("key");
}
}
```
-Это скажет автозагрузчику искать что-либо в пространстве имен `\ Acme \` в папке `src`.
+Это скажет автозагрузчику искать что-либо в пространстве имён `\Acme` в папке `src`.
Вы также можете использовать
-[PSR-0, Classmap или просто список файлов для включения](https://getcomposer.org/doc/04-schema.md#autoload).
-Также существует поле `autoload-dev` для пространств имен, предназначенных только для разработки.
+[PSR-0, карту классов или просто список файлов для включения](https://getcomposer.org/doc/04-schema.md#autoload).
+Также существует поле `autoload-dev` для пространств имён, предназначенных только для разработки.
При добавлении или изменении ключа автозагрузки вам необходимо перестроить автозагрузчик:
```sh
composer dump-autoload
-composer dump # shorthand
+composer dump # краткий вариант
-# Оптимизирует пакеты PSR0 и PSR4 для загрузки классов.
-# Медленно запускается, но улучшает производительность при производстве.
+# Оптимизирует пакеты PSR0 и PSR4 для загрузки классов с помощью карты классов.
+# Медленно запускается, но улучшает производительность готового продукта.
composer dump-autoload --optimize --no-dev
```
-# Composer Кэш
+# Кэш Composer
```sh
-# Composer сохранит загруженные пакеты для использования в будущем. Очистите его с помощью:
+# Composer хранит загруженные пакеты для использования в будущем. Очистите кэш с помощью:
composer clear-cache
```
-# Поиск проблемы
+# Устранение неполадок
```sh
composer diagnose
@@ -184,13 +185,13 @@ composer self-update
composer clear-cache
```
-## Темы, которые пока (пока) не включены в этот учебник
+## Темы, которые ещё (пока) не включены в этот учебник
-* Создание и распространение ваших собственных пакетов на Packagist.org или в другом месте
+* Создание и распространение ваших собственных пакетов на Packagist.org или в другом репозитории
* Предварительные и пост-скриптовые перехватчики: запуск задач,
-когда происходят определенные события композитора
+когда происходят определенные события Composer
-### Рекомендации
+### Ссылки
* [Composer - Dependency Manager for PHP](https://getcomposer.org/)
* [Packagist.org](https://packagist.org/)
diff --git a/ru-ru/yaml-ru.html.markdown b/ru-ru/yaml-ru.html.markdown
new file mode 100644
index 00000000..6eb580d9
--- /dev/null
+++ b/ru-ru/yaml-ru.html.markdown
@@ -0,0 +1,189 @@
+---
+language: yaml
+filename: learnyaml-ru.yaml
+contributors:
+- [Adam Brenecki, 'https://github.com/adambrenecki']
+- [Suhas SG, 'https://github.com/jargnar']
+translators:
+- [Sergei Babin, 'https://github.com/serzn1']
+lang: ru-ru
+---
+
+YAML как язык сериализации данных предназначен прежде всего для использования людьми.
+
+Это строгое надмножество JSON с добавлением синтаксически значимых переносов строк и
+отступов как в Python. Тем не менее, в отличие от Python, YAML запрещает
+использование табов для отступов.
+
+```yaml
+--- # начало документа
+
+# Комментарий в YAML выглядит как-то так.
+
+######################
+# Скалярные величины #
+######################
+
+# Наш корневой объект (который продолжается для всего документа) будет соответствовать
+# типу map, который в свою очередь соответствует словарю, хешу или объекту в других языках.
+key: value
+another_key: Другое значение ключа.
+a_number_value: 100
+scientific_notation: 1e+12
+# Число 1 будет интерпретировано как число, а не как логический тип. Если необходимо чтобы
+# значение было интерпретировано как логическое, необходимо использовать true
+boolean: true
+null_value: null
+key with spaces: value
+
+# Обратите внимание что строки используются без кавычек, но могут и с кавычками.
+however: 'Строка заключенная в кавычки.'
+'Ключ заключенный в кавычки.': "Полезно если нужно использовать ':' в вашем ключе."
+single quotes: 'Содержит ''одну'' экранированную строку'
+double quotes: "Содержит несколько: \", \0, \t, \u263A, \x0d\x0a == \r\n, экранированных строк."
+
+# Многострочные строковые значения могут быть записаны как 'строковый блок' (используя |),
+# или как 'сложенный блок' (используя '>').
+literal_block: |
+ Значение всего текста в этом блоке будет присвоено ключу 'literal_block',
+ с сохранением переноса строк.
+
+ Объявление продолжается до удаления отступа и выравнивания с ведущим отступом.
+
+ Любые строки с большим отступом сохраняют остатки своего отступа -
+ эта строка будет содержать дополнительно 4 пробела.
+folded_style: >
+ Весь блок этого тектса будет значением 'folded_style', но в данном случае
+ все символы новой строки будут заменены пробелами.
+
+ Пустые строки будут преобразованы в перенос строки.
+
+ Строки с дополнительными отступами сохраняют их переносы строк -
+ этот текст появится через 2 строки.
+
+##################
+# Типы коллекций #
+##################
+
+# Вложения используют отступы. Отступ в 2 пробела предпочтителен (но не обязателен).
+a_nested_map:
+ key: value
+ another_key: Another Value
+ another_nested_map:
+ hello: hello
+
+# В словарях (maps) используются не только строковые значения ключей.
+0.25: a float key
+
+# Ключи также могут быть сложными, например многострочными.
+# Мы используем ? с последующим пробелом чтобы обозначить начало сложного ключа.
+? |
+ Этот ключ
+ который содержит несколько строк
+: и это его значение
+
+# YAML также разрешает соответствия между последовательностями со сложными ключами
+# Некоторые парсеры могут выдать предупреждения или ошибку
+# Пример
+? - Manchester United
+ - Real Madrid
+: [2001-01-01, 2002-02-02]
+
+# Последовательности (эквивалент списка или массива) выглядят как-то так
+# (обратите внимание что знак '-' считается отступом):
+a_sequence:
+ - Item 1
+ - Item 2
+ - 0.5 # последовательности могут содержать различные типы.
+ - Item 4
+ - key: value
+ another_key: another_value
+ -
+ - Это последовательность
+ - внутри другой последовательности
+ - - - Объявления вложенных последовательностей
+ - могут быть сжаты
+
+# Поскольку YAML это надмножество JSON, вы можете использовать JSON-подобный
+# синтаксис для словарей и последовательностей:
+json_map: {"key": "value"}
+json_seq: [3, 2, 1, "takeoff"]
+в данном случае кавычки не обязательны: {key: [3, 2, 1, takeoff]}
+
+##########################
+# Дополнительные функции #
+##########################
+
+# В YAML есть удобная система так называемых 'якорей' (anchors), которые позволяют легко
+# дублировать содержимое внутри документа. Оба ключа в примере будут иметь одинаковые значения:
+anchored_content: &anchor_name Эта строка будет являться значением обоих ключей.
+other_anchor: *anchor_name
+
+# Якоря могут использоваться для дублирования/наследования свойств
+base: &base
+ name: Каждый будет иметь одинаковое имя
+
+# Регулярное выражение << называется ключом объединения независимо от типа языка.
+# Он используется чтобы показать что все ключи одного или более словарей должны быть
+# добавлены в текущий словарь.
+
+foo: &foo
+ <<: *base
+ age: 10
+
+bar: &bar
+ <<: *base
+ age: 20
+
+# foo и bar могли бы иметь имена: Каждый из них имеет аналогичное имя
+
+# В YAML есть теги (tags), которые используются для явного объявления типов.
+explicit_string: !!str 0.5
+# В некоторых парсерах реализованы теги для конкретного языка, пример для Python
+# пример сложного числового типа.
+python_complex_number: !!python/complex 1+2j
+
+# Мы можем использовать сложные ключи с включенными в них тегами из определенного языка
+? !!python/tuple [5, 7]
+: Fifty Seven
+# Могло бы быть {(5, 7): 'Fifty Seven'} в Python
+
+#######################
+# Дополнительные типы #
+#######################
+
+# Строки и числа не единственные величины которые может понять YAML.
+# YAML также поддерживает даты и время в формате ISO.
+datetime: 2001-12-15T02:59:43.1Z
+datetime_with_spaces: 2001-12-14 21:59:43.10 -5
+date: 2002-12-14
+
+# Тег !!binary показывает что эта строка является base64-закодированным
+# представлением двоичного объекта.
+gif_file: !!binary |
+ R0lGODlhDAAMAIQAAP//9/X17unp5WZmZgAAAOfn515eXvPz7Y6OjuDg4J+fn5
+ OTk6enp56enmlpaWNjY6Ojo4SEhP/++f/++f/++f/++f/++f/++f/++f/++f/+
+ +f/++f/++f/++f/++f/++SH+Dk1hZGUgd2l0aCBHSU1QACwAAAAADAAMAAAFLC
+ AgjoEwnuNAFOhpEMTRiggcz4BNJHrv/zCFcLiwMWYNG84BwwEeECcgggoBADs=
+
+# YAML может использовать объекты типа ассоциативных массивов (set), как представлено ниже:
+set:
+ ? item1
+ ? item2
+ ? item3
+or: {item1, item2, item3}
+
+# Сеты (set) являются простыми эквивалентами словарей со значениями
+# типа null; запись выше эквивалентна следующей:
+set2:
+ item1: null
+ item2: null
+ item3: null
+
+... # конец документа
+```
+
+### Больше информации
+
++ [YAML оффициальный вебсайт](http://yaml.org/)
++ [YAML онлайн валидатор](http://www.yamllint.com/)