Руководство по внесению вклада
- Отчеты об ошибках
- Вопросы поддержки
- Обсуждение разработки ядра
- Какая ветка?
- Скомпилированные активы
- Уязвимости безопасности
- Стиль кодирования
- Нормы поведения
Отчеты об ошибках
Чтобы стимулировать активное сотрудничество, Laravel настоятельно поощряет пулл реквесты, а не только отчеты об ошибках. «Отчеты об ошибках» также могут быть отправлены в форме пулл реквеста, содержащего неудачный тест. Пулл реквесты будут рассматриваться только в том случае, если они помечены как «готовые к рассмотрению» (не в состоянии «черновик») и все тесты для новых функций пройдены. Устаревшие неактивные пулл реквесты, оставшиеся в состоянии «черновик», будут закрыты через несколько дней.
Однако, если Вы отправляете отчет об ошибке, Ваша проблема должна содержать заголовок и четкое описание проблемы. Вы также должны включить как можно больше релевантной информации и образец кода, демонстрирующий проблему. Цель отчета об ошибке - упростить для Вас и окружающих воспроизведение ошибки и разработку исправления.
Помните, что отчеты об ошибках создаются в надежде, что другие, у кого возникла такая же проблема, смогут сотрудничать с Вами в ее решении. Не ожидайте, что в отчете об ошибке будет автоматически отображаться какая-либо активность или что другие попытаются ее исправить. Создание отчета об ошибке помогает Вам и другим начать путь к устранению проблемы. Если Вы хотите внести свой вклад, Вы можете помочь, исправив любые ошибки, перечисленные в наших средствах отслеживания проблем. Вы должны быть аутентифицированы на GitHub, чтобы просматривать все проблемы Laravel.
Исходный код Laravel управляется на GitHub, и для каждого проекта Laravel есть репозитории:
- Laravel Application
- Laravel Art
- Laravel Documentation
- Laravel Dusk
- Laravel Cashier Stripe
- Laravel Cashier Paddle
- Laravel Echo
- Laravel Envoy
- Laravel Framework
- Laravel Homestead
- Laravel Homestead Build Scripts
- Laravel Horizon
- Laravel Jetstream
- Laravel Passport
- Laravel Sail
- Laravel Sanctum
- Laravel Scout
- Laravel Socialite
- Laravel Telescope
- Laravel Website
Вопросы поддержки
Трекеры проблем 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):
- Участники будут толерантны к противоположным взглядам.
- Участники должны следить за тем, чтобы их язык и действия не содержали личных нападок и пренебрежительных личных замечаний.
- При интерпретации слов и действий других участники всегда должны исходить из добрых намерений.
- Поведение, которое может быть обоснованно расценено как домогательство, недопустимо.