Readouble

Laravel 8.x 貢献ガイド

バグレポートBug Reports

より積極的に援助して頂きたいため、Laravelではただのバグレポートでなく、プルリクエストしてくれることを強く推奨しています。「バグレポート」は失敗するテストを含めた、プルリクエストの形式で送ってください。プルリクエストは、”ready for review"("draft"状態ではない)とマークされている場合にのみレビューされ、新しい機能のすべてのテストを通します。"draft"状態で残された残りの非アクティブプルリクエストは、数日後に閉じられます。To encourage active collaboration, Laravel strongly encourages pull requests, not just bug reports. "Bug reports" may also be sent in the form of a pull request containing a failing test. Pull requests will only be reviewed when marked as "ready for review" (not in the "draft" state) and all tests for new features are passing. Lingering, non-active pull requests left in the "draft" state will be closed after a few days.

バグレポートを提出する場合にはその問題をタイトルに含め、明確に内容を記述してください。できる限り関連する情報や、その問題をデモするコードも含めてください。バグレポートの目的はあなた自身、そして他の人でも、簡単にバグが再現でき修正されるようにすることです。However, if you file a bug report, your issue should contain a title and a clear description of the issue. You should also include as much relevant information as possible and a code sample that demonstrates the issue. The goal of a bug report is to make it easy for yourself - and others - to replicate the bug and develop a fix.

バグレポートは同じ問題にあった他の人達と、解決するために協力できる希望を生み出しているのだということを覚えておいてください。バグレポートにより自動的に何かが起きたり、誰かがすぐ修正したりすることを期待しないでください。バグレポートの提出は、あなた自身と他の人が問題を解決する道筋を開始するきっかけなのです。あなたも協力したい場合は、Issueのトラッカーでリストされているバグを修正する手助けしてください。LaravelのすべてのIssueを閲覧するには、GitHubに認証される必要があります。Remember, bug reports are created in the hope that others with the same problem will be able to collaborate with you on solving it. Do not expect that the bug report will automatically see any activity or that others will jump to fix it. Creating a bug report serves to help yourself and others start on the path of fixing the problem. If you want to chip in, you can help out by fixing any bugs listed in our issue trackers[https://github.com/issues?q=is%3Aopen+is%3Aissue+label%3Abug+user%3Alaravel]. You must be authenticated with GitHub to view all of Laravel's issues.

LaravelのソースコードはGitHubで管理され、各Laravelプロジェクトのリポジトリが存在しています。The Laravel source code is managed on GitHub, and there are repositories for each of the Laravel projects:

質問のサポートSupport Questions

LaravelのGitHubイシュートラッカーは、Laravelのヘルプやサポートの提供を目的としていません。代わりに以下のチャンネルを利用してください。Laravel's GitHub issue trackers are not intended to provide Laravel help or support. Instead, use one of the following channels:

  • GitHub DiscussionsGitHub Discussions[https://github.com/laravel/framework/discussions]
  • Laracasts ForumsLaracasts Forums[https://laracasts.com/discuss]
  • Laravel.io ForumsLaravel.io Forums[https://laravel.io/forum]
  • StackOverflowStackOverflow[https://stackoverflow.com/questions/tagged/laravel]
  • DiscordDiscord[https://discord.gg/laravel]
  • LarachatLarachat[https://larachat.co]
  • IRCIRC[https://web.libera.chat/?nick=artisan&channels=#laravel]

コア開発の議論Core Development Discussion

新機能や、現存のLaravelの振る舞いについて改善を提言したい場合は、LaravelフレームワークリポジトリのGitHub discussion boardへおねがいします。新機能を提言する場合は自発的に、それを完動させるのに必要な、コードを最低限でも実装してください。You may propose new features or improvements of existing Laravel behavior in the Laravel framework repository's GitHub discussion board[https://github.com/laravel/framework/discussions]. If you propose a new feature, please be willing to implement at least some of the code that would be needed to complete the feature.

バグ、新機能、既存機能の実装についてのざっくばらんな議論は、Laravel Discord server#internalsチャンネルで行っています。LaravelのメンテナーであるTaylor Otwellは、通常ウイークエンドの午前8時から5時まで(America/Chicago標準時、UTC-6:00)接続しています。他の時間帯では、ときどき接続しています。Informal discussion regarding bugs, new features, and implementation of existing features takes place in the #internals channel of the Laravel Discord server[https://discord.gg/laravel]. Taylor Otwell, the maintainer of Laravel, is typically present in the channel on weekdays from 8am-5pm (UTC-06:00 or America/Chicago), and sporadically present in the channel at other times.

どのブランチ?Which Branch?

すべてのバグフィックスは最新の安定ブランチへ送ってください。次のリリースの中にだけ存在している機能に対する修正でない限り、決してバグフィックスをmasterブランチに送ってはいけませんAll bug fixes should be sent to the latest stable branch. Bug fixes should never be sent to the master branch unless they fix features that exist only in the upcoming release.

現在のリリースと完全な後方コンパティビリティを持っているマイナーな機能は、最新の安定ブランチへ送ってください。Minor features that are fully backward compatible with the current release may be sent to the latest stable branch.

次のリリースに含めるべきメジャーな新機能は、常にmasterブランチへ送ってください。Major new features should always be sent to the master branch, which contains the upcoming release.

もし、あなたの新機能がメジャーなのか、マイナーなのかはっきりしなければ、Laravel Discord server#internalsチャンネルでTaylor Otwellに尋ねてください。If you are unsure if your feature qualifies as a major or minor, please ask Taylor Otwell in the #internals channel of the Laravel Discord server[https://discord.gg/laravel].

アセットのコンパイルCompiled Assets

laravel/laravelリポジトリのresources/cssresources/js下のほとんどのファイルのように、コンパイル済みファイルに影響を及ぼすファイルへ変更を行う場合、コンパイル済みファイルをコミットしないでください。大きなファイルサイズであるため、メンテナは実際レビューできません。悪意のあるコードをLaravelへ紛れ込ませる方法を提供してしまいます。これを防御的に防ぐため、すべてのコンパイル済みファイルはLaravelメンテナが生成しコミットします。If you are submitting a change that will affect a compiled file, such as most of the files in resources/css or resources/js of the laravel/laravel repository, do not commit the compiled files. Due to their large size, they cannot realistically be reviewed by a maintainer. This could be exploited as a way to inject malicious code into Laravel. In order to defensively prevent this, all compiled files will be generated and committed by Laravel maintainers.

セキュリティ脆弱性Security Vulnerabilities

Laravelにセキュリティー脆弱性を見つけたときは、メールでTaylor Otwell(taylorotwell@laravel.com)に連絡してください。全セキュリティー脆弱性は、速やかに対応されるでしょう。If you discover a security vulnerability within Laravel, please send an email to Taylor Otwell at taylor@laravel.com[mailto:taylor@laravel.com]. All security vulnerabilities will be promptly addressed.

コーディングスタイルCoding Style

LaravelはPSR-2コーディング規約とPSR-4オートローディング規約に準拠しています。Laravel follows the PSR-2[https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md] coding standard and the PSR-4[https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader.md] autoloading standard.

PHPDocPHPDoc

次に正しいLaravelのドキュメントブロックの例を示します。@param属性に続け2スペース、引数タイプ、2スペース、最後に変数名となっていることに注意してください。Below is an example of a valid Laravel documentation block. Note that the @param attribute is followed by two spaces, the argument type, two more spaces, and finally the variable name:

/**
 * 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)
{
    //
}

StyleCIStyleCI

コードのスタイルが完璧でなくても心配ありません。プルリクエストがマージされた後で、StyleCIが自動的にスタイルを修正し、Laravelリポジトリへマージします。これによりコードスタイルではなく、貢献の内容へ集中できます。Don't worry if your code styling isn't perfect! StyleCI[https://styleci.io/] will automatically merge any style fixes into the Laravel repository after pull requests are merged. This allows us to focus on the content of the contribution and not the code style.

行動規範Code of Conduct

Laravelの行動規範はRubyの行動規範を基にしています。行動規範の違反はTaylor Otwell(taylor@laravel.com)へ報告してください。The Laravel code of conduct is derived from the Ruby code of conduct. Any violations of the code of conduct may be reported to Taylor Otwell (taylor@laravel.com[mailto:taylor@laravel.com]):

  • 参加者は反対意見に寛容であること。Participants will be tolerant of opposing views.
  • 参加者は個人攻撃や個人的な発言の誹謗に陥らぬように言動に気をつけてください。Participants must ensure that their language and actions are free of personal attacks and disparaging personal remarks.
  • 相手の言動を解釈する時、参加者は常に良い意図だと仮定してください。When interpreting the words and actions of others, participants should always assume good intentions.
  • 嫌がらせと考えるのがふさわしい振る舞いは、寛容に扱いません。Behavior that can be reasonably considered harassment will not be tolerated.

章選択

設定

明暗テーマ
light_mode
dark_mode
brightness_auto システム設定に合わせる
テーマ選択
photo_size_select_actual デフォルト
photo_size_select_actual モノクローム(白黒)
photo_size_select_actual Solarized風
photo_size_select_actual GitHub風(青ベース)
photo_size_select_actual Viva(黄緑ベース)
photo_size_select_actual Happy(紫ベース)
photo_size_select_actual Mint(緑ベース)
コードハイライトテーマ選択

明暗テーマごとに、コードハイライトのテーマを指定できます。

テーマ配色確認
スクリーン表示幅
640px
80%
90%
100%

768px以上の幅があるときのドキュメント部分表示幅です。

インデント
無し
1rem
2rem
3rem
原文確認
原文を全行表示
原文を一行ずつ表示
使用しない

※ 段落末のEボタンへカーソルオンで原文をPopupします。

Diff表示形式
色分けのみで区別
行頭の±で区別
削除線と追記で区別

※ [tl!…]形式の挿入削除行の表示形式です。

テストコード表示
両コード表示
Pestのみ表示
PHPUnitのみ表示
OS表示
全OS表示
macOSのみ表示
windowsのみ表示
linuxのみ表示
和文変換

対象文字列と置換文字列を半角スペースで区切ってください。(最大5組各10文字まで)

本文フォント

総称名以外はCSSと同様に、"〜"でエスケープしてください。

コードフォント

総称名以外はCSSと同様に、"〜"でエスケープしてください。

保存内容リセット

localStrageに保存してある設定項目をすべて削除し、デフォルト状態へ戻します。

ヘッダー項目移動

キーボード操作