Может войдёшь?
Черновики Написать статью Профиль

Руководство по участию в проекте

перевод документация 4.x

  1. 1. Введение
  2. 2. Об основном ядре
  3. 3. Новые функции
  4. 4. Отчёты об ошибках
    1. 4.1. С помощью unit-тестов
    2. 4.2. С помощью Laravel Liferaft
  5. 5. Создание Liferaft-приложений
    1. 5.1. Установка Liferaft
    2. 5.2. Аутентификация через GitHub
    3. 5.3. Создание нового Liferaft-приложения
    4. 5.4. Воспроизведение проблемы
    5. 5.5. Отправка вашего приложения на рассмотрение
  6. 6. Получение Liferaft-приложения
  7. 7. Какая ветка?
  8. 8. Слабые места в безопасности
  9. 9. Стиль оформления кода
Этот перевод актуален для англоязычной документации на (ветка 4.2). Опечатка? Выдели и нажми Ctrl+Enter.

Введение

Laravel — проект с открытым исходным кодом, и любой может внести свой вклад в его развитие. Мы рады каждому, независимо от его уровня квалификации, пола, расы, религии и национальности. Разнообразное, яркое сообщество — одна из основных ценностей фреймворка!

Для поощрения активного сотрудничества Laravel в настоящее время принимает только pull-запросы и не принимает отчёты об ошибках. Отчёты об ошибках могут быть отправлены в форме pull-запроса, содержащего непройденный unit-тест. Кроме того, демонстрация бага в sandbox-приложении может быть отправлена как pull-запрос в основной репозиторий Laravel. Непройденные unit-тесты и sandbox-приложения дают команде разработчиков «доказательство» того, что ошибка существует, а после её исправления служат надёжным показателем того, что ошибка была исправлена.

Исходный код Laravel расположен на Github, и для каждого из проектов Laravel есть свои репозитории:

Об основном ядре

Обсуждение ошибок, новых функций и применения существующих функций происходит на IRC-канале #laravel-dev (Freenode). Тейлор Отвелл, создатель Laravel, обычно находится на канале по будням с 11 вечера до 8 утра (по Москве), а иногда и в другое время.

IRC-канал #laravel-dev открыт для всех. Мы приглашаем всех зайти на канал для участия в обсуждении или просто понаблюдать!

Новые функции

Перед отправкой pull-запросов по новым функциям, пожалуйста, свяжитесь с Тейлором Отвеллом через #laravel-dev. Если функция окажется подходящей для фреймворка, вы можете сделать pull-запрос. Даже если функция будет отклонена, не сдавайтесь! Вы всё ещё можете превратить свою функцию в package, который может быть выпущен в свет с помощью Packagist.

При добавлении новых функций, не забудьте добавить unit-тесты! Unit-тесты помогут обеспечить стабильность и надёжность фреймворка после добавления функции.

Отчёты об ошибках

С помощью unit-тестов

Pull-запросы по ошибкам могут быть отправлены без предварительного обсуждения с командой разработчиков Laravel. Когда будете отправлять отчёт об ошибке, постарайтесь включить в него unit-тест, чтобы мы могли гарантировать, что ошибка никогда не появится снова!

Если вы считаете, что нашли ошибку во фреймворке, но не знаете, как её исправить, пожалуйста, отправьте pull-запрос, содержащий непройденный unit-тест. Непройденные unit-тесты дают команде разработчиков «доказательство», что ошибка существует, а после её исправления служат надёжным показателем того, что ошибка была исправлена.

Если вы не знаете, как написать правильный unit-тест для найденной ошибки, просмотрите другие unit-тесты, включенные во фреймворк. Если это не поможет, обратитесь за помощью на канал #laravel-dev.

С помощью Laravel Liferaft

Если вы не можете написать unit-тест для вашей проблемы, то используйте Laravel Liferaft. Он позволяет создать демо-приложение, которое воспроизводит эту проблему. Liferaft может даже автоматизировать процесс подключения и передачи pull-запросов в репозиторий Laravel. После того, как ваше Liferaft-приложение отправлено, разработчик Laravel сможет запустить приложение на Homestead и рассмотреть вашу проблему.

Создание Liferaft-приложений

Laravel Liferaft предоставляет новый, инновационный способ внести свой вклад в развитие Laravel. Для начала нужно установить консольный инструмент Liferaft с помощью Composer:

Установка Liferaft

shcomposer global require "laravel/liferaft=~1.0"

Не забудьте поместить путь ~/.composer/vendor/bin в переменную PATH, чтобы исполняемый файл liferaft был найден при запуске команды liferaft в терминале.

Аутентификация через GitHub

Перед началом работы с Liferaft вам необходимо зарегистрировать личный токен доступа GitHub. Вы можете сгенерировать его в панели настроек GitHub. По умолчанию предоставленного GitHub’ом места будет достаточно. Однако, если захотите, вы можете выбрать дисковое пространство delete_repo, тогда Liferaft сможет удалять ваши старые sandbox-приложения.

shliferaft auth my-github-token

Создание нового Liferaft-приложения

Чтобы создать новое Liferaft-приложение, просто используйте команду shnew:

shliferaft new my-bug-fix

Эта команда будет выполнять несколько вещей. Во-первых, она подключит репозиторий Laravel GitHub к вашей учётной записи GitHub. Затем, она клонирует подключенное хранилище на вашу машину и установит зависимости Composer. После того как хранилище будет установлено, вы сможете воспроизвести свою проблему в пределах Liferaft-приложения!

Воспроизведение проблемы

Создав Liferaft-приложение, воспроизведите вашу проблему. Вы неограничены в задании маршрутов, создании Eloquent-моделей и даже создании миграций баз данных! Единственное требование — ваше приложение должно запускаться на чистой виртуальной машине Laravel Homestead. Это позволит специалистам Laravel легко запустить ваше приложение на своих машинах.

Как только вы воспроизвели свою проблему в Liferaft-приложении, вы можете отправить его обратно в репозиторий Laravel на рассмотрение!

Отправка вашего приложения на рассмотрение

Как только вы воспроизвели свою проблему, вы уже почти можете послать её на рассмотрение! Однако сначала вы должны заполнить файл liferaft.md, который был сгенерирован в вашем Liferaft-приложении. Первая строка этого файла будет названием вашего pull-запроса. Остальные строки будут включены в тело pull-запроса. Конечно же, разметка GitHub поддерживается.

После завершения работы с файлом liferaft.md, отправьте все ваши изменения в репозиторий GitHub. Далее просто запустите Liferaft-команду shthrow из директории вашего приложения:

shliferaft throw

Эта команда создаст pull-запрос в репозиторий Laravel GitHub. Разработчик Laravel сможет легко получить ваше приложение и запустить его в своей собственной Homestead-среде!

Получение Liferaft-приложения

Хотите участвовать в развитии Laravel? С помощью Liferaft вы легко сможете устанавливать Liferaft-приложения и изучать их в собственной Homestead-среде.

Для удобства сначала клонируйте laravel/laravel в каталог liferaft на вашем компьютере:

shgit clone https://github.com/laravel/laravel.git liferaft

Затем обновите локальную ветку develop, чтобы устанавливать Liferaft-приложения, ориентированные как на выпущенные, так и предстоящие релизы Laravel:

shgit checkout -b develop origin/develop

После этого вы можете запустить Liferaft-команду shgrab из директории вашего репозитория. Например, если вы хотите установить Liferaft-приложение, связанное с pull-запросом #3000, вы должны выполнить следующую команду:

sh	liferaft grab 3000

Команда shgrab создаст новую ветку в вашей директории Liferaft, и синхронизирует изменения для указанного pull-запроса. После установки Liferaft-приложения просто откройте эту директорию через виртуальную машину Homestead! После отладки проблемы не забудьте отправить pull-запрос в репозиторий laravel/framework с соответствующим исправлением!

У вас появился свободный часок и вы хотите решить какую-нибудь проблему? Просто запустите shgrab без указания ID pull-запроса:

shliferaft grab

Какая ветка?

Этот раздел в основном относится к тем, кто отправляет pull-запросы в репозиторий laravel/framework, а не Liferaft-приложения.

Все исправления должны быть отправлены в последнюю стабильную ветку. Исправления не должны отправляться в ветку master, если они не относятся к функциям, которые появятся только в следующем релизе.

Незначительные новые функции, имеющие полную обратную совместимость с текущей версией Laravel могут быть отправлены в последнюю стабильную ветку.

Важные новые функции должны всегда отправляться в ветку master, которая содержит предстоящий релиз Laravel.

Если вы не уверены, как квалифицируется ваша функция (важная или незначительная), пожалуйста, обращайтесь к Тейлору Отвеллу на канал #laravel-dev.

Слабые места в безопасности

Если вы обнаружите уязвимость в безопасности Laravel, пожалуйста, отправьте письмо Тейлору Отвеллу на taylorotwell@gmail.com. Все уязвимости в безопасности будут оперативно устранены.

Стиль оформления кода

Laravel следует стандартам оформления кода PSR-0 и PSR-1. В дополнение к ним также стоит соблюдать следующие правила:

  • Объявление пространства имён класса должно быть на той же строке, что и PHP<?php.
  • Открытие класса PHP{ должно быть на той же строке, что и имя класса.
  • Функции и структуры управления должны использовать стиль скобок Оллмана.
  • Отступ — табуляцией, выравнивание — пробелами.

Как вы считаете, полезен ли этот материал? Да Нет

Написать комментарий

Разметка: ? ?

Авторизуйся, чтобы прокомментировать.