С целью активного развития фреймворка, Laravel настоятельно рекомендует создавать пулл-реквесты, а не только баг-репорты. Баг-репорты могут быть отправлены в форме пулл-реквеста, содержащего в себе ошибку прохождения юнит-тестов.
Помните, что если вы отправляете баг-репорт, он должен содержать заголовок и чёткое описание проблемы. Вам также следует включить как можно больше значимой информации и примеров кода, которые отражают проблему. Цель баг-репорта состоит в упрощении локализации и исправления проблемы.
Также помните, что баг-репорты создаются в надежде, что другие пользователи с такой же проблемой смогут принять участие в её решении вместе с вами. Но не ждите, что сразу появится какая-либо активность над вашим репортом или другие побегут исправлять вашу проблему. Баг-репорт призван помочь вам и другим пользователям начать совместную работу над решением проблемы.
Исходный код Laravel находится на GitHub, список репозиториев каждого из проектов Laravel:
- Laravel Framework
- Laravel Application
- Laravel Documentation
- Laravel Cashier
- Laravel Cashier for Braintree
- Laravel Envoy
- Laravel Homestead
- Laravel Homestead Build Scripts
- Laravel Passport
- Laravel Scout
- Laravel Socialite
- Laravel Website
- Laravel Art
Вы можете предложить новый функционал или улучшение существующего в обсуждениях репозитория Laravel Internals. Если вы предлагаете новый функционал, то, пожалуйста, будьте готовы написать по крайней мере часть кода, который потребуется для завершения реализации функционала.
Неформальное обсуждение ошибок, новых и существующих возможностей проходит в канале #internals
в Slack-чате LaraChat. Тейлор Отвелл, главный разработчик, обычно находится в канале по будням с 17:00 вечера до 02:00 ночи (время московское, UTC+03:00), и иногда появляется в другое время.
Все баг-репорты должны отправляться в последнюю стабильную ветку или в текущую LTS-ветку (5.1). Баг-репорты никогда не должны отправляться в ветку master
кроме случаев, когда они затрагивают функционал, существующий только в следующем релизе.
Мелкие изменения, которые обладают полной обратной совместимостью с актуальным релизом Laravel, могут отправляться в последнюю стабильную ветку.
Крупные изменения в функционале всегда должны отправляться в ветку master
, в которой находится следующий релиз Laravel.
Если вы не уверены в том, как квалифицировать ваше изменение, пожалуйста, спросите у Тейлора Отвелла в канале #internals
в Slack-чате LaraChat.
Если вы обнаружили уязвимость в безопасности Laravel, пожалуйста, отправьте email-письмо Тейлору Отвеллу на [email protected]. Все подобные уязвимости будут оперативно рассмотрены.
Laravel придерживается стандарта написания кода PSR-2 и стандартна автозагрузки классов PSR-4.
Ниже расположен пример корректного блока документации кода Laravel. Обратите внимание, что после атрибута @param
идут два пробела, затем тип аргумента, после ещё два пробела, и всё завершается названием переменной:
/**
* Register a binding with the container.
*
* @param string|array $abstract
* @param \Closure|string|null $concrete
* @param bool $shared
* @return void
*/
public function bind($abstract, $concrete = null, $shared = false)
{
//
}
Не беспокойтесь, если стиль вашего кода не безупречен! StyleCI автоматически применит стилистические правки после вливания пулл-реквеста в репозиторий Laravel. Это позволяет нам сосредоточиться на самом коде, а не его стиле.