バグレポート

より積極的に援助して頂きたいため、Laravelではただのバグレポートでなく、プルリクエストしてくれることを強く推奨しています。「バグレポート」は、失敗するテストを含めた、プルリクエストの形式で送ってください。

しかし、バグレポートを提出する場合には、その問題をタイトルに含め、明確に内容を記述してください。できる限り関連する情報や、その問題をデモするコードも含めてください。バグレポートの目的はあなた自身、そして他の人でも、簡単にバグが再現でき、修正されるようにすることです。

バグレポートは同じ問題にあった他の人達と、解決するために協力できる望みを生み出すのだということを覚えておいてください。バグレポートにより、自動的に何かが起きたり、誰かがすぐ修正したりすることを期待しないでください。バグレポートの提出は、あなた自身と他の人が、問題を解決する道筋を開始するきっかけなのです。

LaravelのソースコードはGitHubで管理され、各Laravelプロジェクトのリポジトリーが存在しています。

コア開発の議論

新機能や、現存のLaravelの振る舞いについて改善を提言したい場合は、Laravel内部のissueボードへおねがいします。新機能を提言する場合は自発的に、それを完動させるのに必要な、コードを最低限でも実装してください。

バグ、新機能、既存機能の実装についてのざっくばらんな議論は、SlackのLaraChatチームにある#internalsチャンネルで行っています。LaravelのメンテナーであるTaylor Otwellは、通常ウイークエンドの午前8時から5時まで(America/Chicago標準時、UTC-6:00)接続しています。他の時間帯では、時々接続しています。

どのブランチ?

全てのバグフィックスは、最新の安定ブランチ,もしくは現在のLTSブランチ(5.1)へ送ってください。次のリリースの中にだけ存在している機能に対する修正でない限り、決してバグフィックスをmasterブランチに送ってはいけません。

現在のLaravelリリースと完全な後方コンパティビリティを持っているマイナーな機能は、最新の安定ブランチへ送ってください。

次のLaravelリリースに含めるべき、メジャーな新機能は、常にmasterブランチへ送ってください。

もし、あなたの新機能がメジャーなのか、マイナーなのかはっきりしなければ、LaraChat#internalsチャンネルでTaylor Otwellに尋ねてください。

セキュリティ脆弱性

Laravelにセキュリティー脆弱性を見つけたときは、メールでに連絡してください。全セキュリティー脆弱性は、速やかに対応されるでしょう。

コーディングスタイル

LaravelはPSR-2コーディング規約とPSR-4オートローディング規約に準拠しています。

PHPDoc

次に正しいLaravelのドキュメントブロックの例を示します。@param属性に続け2スペース、引数タイプ、2スペース、最後に変数名となっていることに注意してください。

/**
 * 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

コードのスタイルが完璧でなくても心配ありません。プルリクエストがマージされたあとで、StyleCIが自動的にスタイルを修正し、Laravelリポジトリへマージします。これにより、コードスタイルではなく、貢献の内容へ集中することができます。