Документация Laravel 10.x
Здесь ты найдешь сниппеты по Laravel и полезные советы по веб-разработке.
Чтобы поощрить активное сотрудничество, Laravel настоятельно рекомендует запросы на извлечение, а не только сообщения об ошибках. Запросы на извлечение будут рассмотрены только после пометки как "готово для рассмотрения" (не в состоянии "черновика") и прохождения всех тестов для новых функций. Зависающие, неактивные запросы на извлечение, оставленные в состоянии "черновика", будут закрыты через несколько дней.
Однако, если вы создаете сообщение об ошибке, ваш запрос должен содержать заголовок и четкое описание проблемы. Вы также должны включить как можно больше актуальной информации и кодовый образец, демонстрирующий проблему. Цель сообщения об ошибке - сделать легким для себя и других воспроизведение ошибки и разработку исправления.
Помните, что сообщения об ошибках создаются в надежде, что другие с такой же проблемой смогут с вами сотрудничать в ее решении. Не ожидайте, что сообщение об ошибке автоматически получит какую-либо активность или что другие сразу же начнут ее исправлять. Создание сообщения об ошибке служит помощью вам и другим начать путь к решению проблемы. Если вы хотите внести свой вклад, вы можете помочь, исправив любые ошибки, перечисленные в наших трекерах задач. Вы должны быть аутентифицированы в GitHub, чтобы просмотреть все задачи Laravel.
Если вы замечаете неправильный DocBlock, PHPStan или предупреждения IDE при использовании Laravel, не создавайте проблему в GitHub. Вместо этого предоставьте запрос на извлечение для исправления проблемы.
Исходный код Laravel управляется на GitHub, и есть репозитории для каждого из проектов Laravel:
Багтрекеры GitHub Laravel не предназначены для предоставления помощи или поддержки по Laravel. Вместо этого используйте один из следующих каналов:
Вы можете предложить новые функции или улучшения существующего поведения Laravel на форуме обсуждений GitHub репозитория Laravel. Если вы предлагаете новую функцию, будьте готовы к реализации хотя бы части кода, необходимого для завершения функции.
Неформальные обсуждения багов, новых функций и реализации существующих функций происходят в канале #internals
на сервере Laravel Discord. Тейлор Отвелл, сопровождающий Laravel, обычно присутствует в канале с понедельника по пятницу с 8:00 до 17:00 (UTC-06:00 или America/Chicago) и время от времени бывает в канале в другие времена.
Все исправления ошибок должны быть отправлены в последнюю версию, которая поддерживает исправления ошибок (в настоящее время 10.x
). Исправления ошибок никогда не должны отправляться в ветку master
, если они исправляют функции, которые существуют только в предстоящем релизе.
Мелкие функции, полностью совместимые с текущим релизом, могут быть отправлены в последнюю стабильную ветку (в настоящее время 10.x
).
Крупные новые функции или функции с изменениями, приводящими к нарушениям совместимости, всегда должны быть отправлены в ветку master
, которая содержит предстоящий релиз.
Если вы представляете изменение, которое повлияет на скомпилированный файл, такой как большинство файлов в resources/css
или resources/js
репозитория laravel/laravel
, не фиксируйте скомпилированные файлы. Из-за их большого размера они не могут быть реалистично проверены сопровождающим. Это можно использовать в качестве способа внедрения вредоносного кода в Laravel. Для защиты от этого все скомпилированные файлы будут созданы и зафиксированы сопровождающими Laravel.
Если вы обнаружили уязвимость безопасности в Laravel, отправьте электронное письмо Тейлору Отвеллу по адресу [email protected]. Все уязвимости безопасности будут незамедлительно устранены.
Laravel следует стандарту кодирования PSR-2 и стандарту автозагрузки PSR-4.
Ниже приведен пример допустимого блока документации Laravel. Обратите внимание, что атрибут @param
следуется двумя пробелами, типом аргумента, еще двумя пробелами и, наконец, именем переменной:
/** * Зарегистрировать привязку в контейнере. * * @param string|array $abstract * @param \Closure|string|null $concrete * @param bool $shared * @return void * * @throws \Exception */public function bind($abstract, $concrete = null, $shared = false){ // ...}
Когда атрибуты @param
или @return
избыточны из-за использования собственных типов, их можно удалить:
/** * Выполнить задачу. */public function handle(AudioProcessor $processor): void{ //}
Однако, если собственный тип является обобщенным, укажите обобщенный тип с использованием атрибутов @param
или @return
:
/** * Получить вложения для сообщения. * * @return array<int, \Illuminate\Mail\Mailables\Attachment> */public function attachments(): array{ return [ Attachment::fromStorage('/path/to/file'), ];}
Не беспокойтесь, если ваш стиль кодирования не идеален! StyleCI автоматически внесет все исправления стиля в репозиторий Laravel после объединения запросов на извлечение. Это позволяет нам сосредотачиваться на содержании вклада, а не на стиле кода.
Кодекс поведения Laravel происходит от кодекса поведения Ruby. Все нарушения кодекса поведения можно сообщить Тейлору Отвеллу ([email protected]):