Помощь в разработке фреймворка

Сообщения о багах

Чтобы стимулировать активное сотрудничество, Laravel настоятельно рекомендует отправлять запросы на исправления и улучшения, а не только отчёты об ошибках. "Отчёт о баге" также может быть отправлен в виде запроса на улучшение, содержащего проваленный тест.

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

Помните, отчёт об ошибке создаётся с целью объединения людей, столкнувшихся с той же проблемой, для её решения. Не ждите, что отчёт автоматически приведёт к скорейшему решению, и остальные разработчики кинуться решать проблему. Создание отчёта служит началом для вас и остальных в решении проблемы.

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

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

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

Обсуждение относительно багов, новых функций и реализации существующих функций ведётся на канале #internals в чате LaraChat команды Slack. Тэйлор Отвелл, создатель Laravel, обычно присутствует на канале по будням с 8 утра до 5 вечера (по чикагскому времени UTC-06:00), а иногда и в другое время.

Какая ветка?

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

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

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

Если вы не уверены к каким функциям относится ваша, мажорным или минорным, спросите об этом Тэйлора Отвелла на канале #internals в LaraChat команды Slack.

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

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

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

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

PHPDoc

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

/**
 * Зарегистрировать связку с контейнером.
 *
 * @param  string|array  $abstract
 * @param  \Closure|string|null  $concrete
 * @param  bool  $shared
 * @return void
 */
public function bind($abstract, $concrete = null, $shared = false)
{
    //
}

StyleCI

Если ваш стиль написания кода не идеален, не волнуйтесь! StyleCI автоматически поместит в репозиторий Laravel все исправления стиля после размещения запроса на включение. Это позволяет нам сконцентрироваться на содержании, а не форме.