Laravel 9.x 貢献ガイド

バグレポート

より積極的に援助して頂きたいため、Laravelではただのバグレポートでなく、プルリクエストしてくれることを強く推奨しています。プルリクエストは、”ready for review"("draft"状態ではない)とマークされている場合にのみレビューされ、新しい機能のすべてのテストを通します。"draft"状態で残された残りの非アクティブプルリクエストは、数日後に閉じられます。

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

バグレポートは、同じ問題に合った他の人が協力して解決してくれることを期待して作成することを忘れないでください。バグレポートが自動的に何らかの活動で目にされたり、他の人がその解決に飛びついたりすることを期待しないでください。バグレポートを作成することは、あなた自身や他の人が問題を解決する行程を始める手助けになります。もしあなたが協力したいと思ったら、私たちの課題追跡システムにリストされているバグを修正することで手助けできます。Laravelのすべての課題を見るには、GitHubで認証される必要があります。

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

質問のサポート

LaravelのGitHubイシュートラッカーは、Laravelのヘルプやサポートの提供を目的としていません。代わりに以下のチャンネルを利用してください。

コア開発の議論

新機能や、現存のLaravelの振る舞いについて改善を提言したい場合は、LaravelフレームワークリポジトリのGitHub discussion boardへおねがいします。新機能を提言する場合は自発的に、それを完動させるのに必要な、コードを最低限でも実装してください。

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

どのブランチ?

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

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

メジャーな(大きな)新機能や互換性のない変更を含む機能は、常に次のリリースに含まれるmasterブランチへ送ってください。

アセットのコンパイル

laravel/laravelリポジトリのresources/cssresources/js下のほとんどのファイルのように、コンパイル済みファイルに影響を及ぼすファイルへ変更を行う場合、コンパイル済みファイルをコミットしないでください。大きなファイルサイズであるため、メンテナは実際レビューできません。悪意のあるコードをLaravelへ紛れ込ませる方法を提供してしまいます。これを防御的に防ぐため、すべてのコンパイル済みファイルはLaravelメンテナが生成しコミットします。

セキュリティ脆弱性

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

コーディングスタイル

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
 *
 * @throws \Exception
 */
public function bind($abstract, $concrete = null, $shared = false)
{
    //
}

StyleCI

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

行動規範

Laravelの行動規範はRubyの行動規範を基にしています。行動規範の違反はTaylor Otwell(taylor@laravel.com)へ報告してください。

  • 参加者は反対意見に寛容であること。
  • 参加者は個人攻撃や個人的な発言の誹謗に陥らぬように言動に気をつけてください。
  • 相手の言動を解釈する時、参加者は常に良い意図だと仮定してください。
  • 嫌がらせと考えるのがふさわしい振る舞いは、寛容に扱いません。

ドキュメント章別ページ

ヘッダー項目移動

注目:アイコン:ページ内リンク設置(リンクがないヘッダーへの移動では、リンクがある以前のヘッダーのハッシュをURLへ付加します。

移動

クリックで即時移動します。

設定

適用ボタンクリック後に、全項目まとめて適用されます。

カラーテーマ
和文指定 Pagination
和文指定 Scaffold
Largeスクリーン表示幅
インデント
本文フォント
コードフォント
フォント適用確認

フォントの指定フィールドから、フォーカスが外れると、当ブロックの内容に反映されます。EnglishのDisplayもPreviewしてください。

フォント設定時、表示に不具合が出た場合、当サイトのクッキーを削除してください。

バックスラッシュを含むインライン\Code\Blockの例です。

以下はコードブロックの例です。

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    /**
     * ユーザに関連する電話レコードを取得
     */
    public function phone()
    {
        return $this->hasOne('App\Phone');
    }
}

設定を保存する前に、表示が乱れないか必ず確認してください。CSSによるフォントファミリー指定の知識がない場合は、フォントを変更しないほうが良いでしょう。

キーボード・ショートカット

オープン操作

PDC

ページ(章)移動の左オフキャンバスオープン

HA

ヘッダー移動モーダルオープン

MS

移動/設定の右オフキャンバスオープン

ヘッダー移動

T

最初のヘッダーへ移動

E

最後のヘッダーへ移動

NJ

次ヘッダー(H2〜H4)へ移動

BK

前ヘッダー(H2〜H4)へ移動

その他

?

このヘルプページ表示
閉じる