Посібник з внесків
- Звіти про помилки
- Питання підтримки
- Обговорення Розробки Ядра
- Яка гілка?
- Скомпільовані ресурси
- Уразливості безпеки
- Стиль кодування
- Кодекс поведінки
Звіти про помилки
Щоб заохотити активну співпрацю, Laravel наполегливо рекомендує надсилати pull-запити, а не лише звіти про помилки. Pull-запити будуть розглядатися лише тоді, коли вони позначені як "готові до перегляду" (не в стані "чернетка") і всі тести для нових функцій пройдені. Залишені без активності pull-запити в стані "чернетка" будуть закриті через кілька днів.
Однак, якщо ви подаєте звіт про помилку, ваша проблема повинна містити заголовок і чіткий опис проблеми. Ви також повинні включити якомога більше відповідної інформації та зразок коду, що демонструє проблему. Мета звіту про помилку - зробити так, щоб вам - і іншим - було легко відтворити помилку і розробити виправлення.
Пам'ятайте, що звіти про помилки створюються з надією, що інші з тією ж проблемою зможуть співпрацювати з вами над її вирішенням. Не очікуйте, що звіт про помилку автоматично побачить будь-яку активність або що інші кинуться її виправляти. Створення звіту про помилку допомагає вам і іншим розпочати шлях до вирішення проблеми. Якщо ви хочете долучитися, ви можете допомогти, виправивши будь-які помилки, зазначені в наших трекерах проблем. Ви повинні бути автентифіковані в GitHub, щоб переглянути всі проблеми Laravel.
Якщо ви помітили неправильні DocBlock, PHPStan або попередження IDE під час використання Laravel, не створюйте проблему на GitHub. Натомість, будь ласка, надішліть pull request, щоб виправити проблему.
Вихідний код Laravel керується на GitHub, і є репозиторії для кожного з проектів Laravel:
- Laravel Застосунок
- Laravel Art
- Laravel Документація
- Laravel Dusk
- Laravel Cashier Stripe
- Laravel Cashier Paddle
- Laravel Echo
- Laravel Envoy
- Laravel Folio
- Laravel Framework
- Laravel Homestead (Скрипти збірки)
- Laravel Horizon
- Laravel Livewire Starter Kit
- Laravel Passport
- Laravel Pennant
- Laravel Pint
- Laravel Prompts
- Laravel React Starter Kit
- Laravel Reverb
- Laravel Sail
- Laravel Sanctum
- Laravel Scout
- Laravel Socialite
- Laravel Telescope
- Laravel Vue Starter Kit
Питання підтримки
Трекери проблем на GitHub для Laravel не призначені для надання допомоги чи підтримки Laravel. Натомість використовуйте один з наступних каналів:
Обговорення Основної Розробки
Ви можете запропонувати нові функції або покращення існуючої поведінки Laravel у репозиторії фреймворку Laravel на дошці обговорень GitHub. Якщо ви пропонуєте нову функцію, будь ласка, будьте готові реалізувати принаймні частину коду, необхідного для завершення функції.
Неофіційне обговорення помилок, нових функцій та реалізації існуючих функцій відбувається в каналі #internals на Laravel Discord сервері. Тейлор Отвелл, підтримувач Laravel, зазвичай присутній у каналі в будні дні з 8:00 до 17:00 (UTC-06:00 або America/Chicago), а також час від часу присутній у каналі в інший час.
Яка гілка?
Усі виправлення помилок слід надсилати до останньої версії, яка підтримує виправлення помилок (наразі 12.x). Виправлення помилок ніколи не слід надсилати до гілки master, якщо вони не виправляють функції, які існують лише в майбутньому релізі.
Малі функції, які повністю сумісні з попередніми версіями з поточним релізом, можуть бути надіслані до останньої стабільної гілки (наразі 12.x).
Основні нові функції або функції з критичними змінами завжди повинні надсилатися до гілки master, яка містить майбутній реліз.
Скомпільовані ресурси
Якщо ви вносите зміни, які вплинуть на скомпільований файл, наприклад, більшість файлів у resources/css або resources/js репозиторію laravel/laravel, не комітьте скомпільовані файли. Через їх великий розмір, вони не можуть бути реально переглянуті мейнтейнером. Це може бути використано як спосіб впровадження шкідливого коду в Laravel. Щоб запобігти цьому, всі скомпільовані файли будуть згенеровані та закомічені мейнтейнерами Laravel.
Уразливості безпеки
Якщо ви виявите вразливість безпеки в 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
*
* @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
Не хвилюйтеся, якщо ваш стиль коду не є ідеальним! StyleCI автоматично об'єднає будь-які виправлення стилю в репозиторій Laravel після злиття pull-запитів. Це дозволяє нам зосередитися на змісті внеску, а не на стилі коду.
Кодекс поведінки
Кодекс поведінки Laravel походить від кодексу поведінки Ruby. Будь-які порушення кодексу поведінки можуть бути повідомлені Тейлору Отвеллу (taylor@laravel.com):
- Учасники будуть толерантними до протилежних поглядів.
- Учасники повинні забезпечити, щоб їхня мова та дії не містили особистих нападів і зневажливих особистих зауважень.
- Коли інтерпретують слова та дії інших, учасники завжди повинні припускати добрі наміри.
- Поведінка, яку можна обґрунтовано вважати переслідуванням, не буде терпітися.
