Skip to content
Icon

ПРЕДУПРЕЖДЕНИЕ Вы просматриваете документацию к старой версии Laravel. Рассмотрите возможность обновления Вашего проекта до Laravel 9.x.

Руководство по внесению вклада

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

Чтобы стимулировать активное сотрудничество, Laravel настоятельно поощряет пулл реквесты, а не только отчеты об ошибках. «Отчеты об ошибках» также могут быть отправлены в форме пулл реквеста, содержащего неудачный тест. Пулл реквесты будут рассматриваться только в том случае, если они помечены как «готовые к рассмотрению» (не в состоянии «черновик») и все тесты для новых функций пройдены. Устаревшие неактивные пулл реквесты, оставшиеся в состоянии «черновик», будут закрыты через несколько дней.

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

Помните, что отчеты об ошибках создаются в надежде, что другие, у кого возникла такая же проблема, смогут сотрудничать с Вами в ее решении. Не ожидайте, что в отчете об ошибке будет автоматически отображаться какая-либо активность или что другие попытаются ее исправить. Создание отчета об ошибке помогает Вам и другим начать путь к устранению проблемы. Если Вы хотите внести свой вклад, Вы можете помочь, исправив любые ошибки, перечисленные в наших средствах отслеживания проблем. Вы должны быть аутентифицированы на GitHub, чтобы просматривать все проблемы Laravel.

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

Вопросы поддержки

Трекеры проблем Laravel GitHub не предназначены для предоставления помощи или поддержки Laravel. Вместо этого используйте один из следующих каналов:

Обсуждение разработки ядра

Вы можете предложить новые функции или улучшения существующего поведения Laravel в репозитории доска обсуждений GitHub. Если вы предлагаете новую функцию, пожалуйста, будьте готовы реализовать хотя бы часть кода, необходимого для ее завершения.

Неформальное обсуждение ошибок, новых функций и реализации существующих функций происходит на канале #internals сервера Laravel Discord. Тейлор Отвелл, сопровождающий Laravel, обычно присутствует на канале в будние дни с 8:00 до 17:00 (UTC-06:00 или Америка/Чикаго) и спорадически присутствует на канале в другое время.

Какая ветка?

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

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

Основные (Major) новые функции всегда следует отправлять в ветку master, которая содержит предстоящий выпуск.

Если вы не уверены, относится ли ваша функция к основным или второстепенным, спросите Тейлора Отвелла на канале #internals сервера Laravel Discord.

Скомпилированные активы

Если Вы отправляете изменение, которое повлияет на скомпилированный файл, например, на большинство файлов в resources/css или resources/js репозитория laravel/laravel, не фиксируйте скомпилированные файлы. Из-за их большого размера они не могут быть реально рассмотрены сопровождающим. Это может быть использовано как способ внедрения вредоносного кода в Laravel. Чтобы предотвратить это, все скомпилированные файлы будут сгенерированы и зафиксированы сопровождающими Laravel.

Уязвимости безопасности

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

Стиль кодирования

Laravel следует стандарту кодирования PSR-2 и PSR-4 стандарт автозагрузки.

PHPDoc

Ниже приведен пример действующего блока документации Laravel. Обратите внимание, что за атрибутом @param идут два пробела, тип аргумента, еще два пробела и, наконец, имя переменной:

/**
* Register a binding with the container.
*
* @param string|array $abstract
* @param \Closure|string|null $concrete
* @param bool $shared
* @return void
*
* @throws \Exception
*/
public function bind($abstract, $concrete = null, $shared = false)
{
//
}

StyleCI

Не волнуйтесь, если стиль Вашего кода не идеален! StyleCI автоматически объединит любые исправления стиля в репозиторий Laravel после объединения запросов на вытягивание. Это позволяет нам сосредоточиться на содержании статьи, а не на стиле кода.

Нормы поведения

Кодекс поведения Laravel является производным от кодекса поведения Ruby. О любых нарушениях кодекса поведения можно сообщить Тейлору Отвеллу (taylor@laravel.com):

  • Участники будут толерантны к противоположным взглядам.
  • Участники должны следить за тем, чтобы их язык и действия не содержали личных нападок и пренебрежительных личных замечаний.
  • При интерпретации слов и действий других участники всегда должны исходить из добрых намерений.
  • Поведение, которое может быть обоснованно расценено как домогательство, недопустимо.