「Laravel - Laravelの構造」の版間の差分

ナビゲーションに移動 検索に移動
208行目: 208行目:
* Enums
* Enums
*: 列挙型クラス
*: 列挙型クラス
<br><br>
== Bladeテンプレートファイル ==
Bladeテンプレートファイルは、resources/viewsディレクトリに配置されている。<br>
<br>
* メインのビューファイル
*: resources/viewsディレクトリにBladeテンプレートファイルを配置する。
*: ファイル名は、example.blade.phpのような形式とする。
*: <br>
* レイアウトファイル
*: resources/views/layoutsディレクトリに共通レイアウトを配置するのが一般的である。
*: 例: resources/views/layouts/app.blade.php
*: <br>
* パーシャル (部分) ビュー
*: resources/views/partialsディレクトリやresources/views/componentsディレクトリに配置するのが慣習的である。
*: ヘッダやフッタ等の再利用可能なコンポーネント
*: <br>
* メールテンプレート
*: resources/views/emailsディレクトリにメール用テンプレートを配置する。
<br>
また、ビューファイルの場所は、config/view.phpファイルで変更することも可能である。<br>
必要に応じて、サブディレクトリを作成して整理することもできる。<br>
<br>
==== デフォルトのwelcome.blade.phpの特徴 ====
* Laravelのウェルカムページとして機能
* Tailwind CSSを使用したスタイリング
* レスポンシブデザイン対応
* ダークモード対応
<br>
主なセクションを以下に示す。<br>
* ログイン / 登録リンク (認証系)
* Laravelロゴ
* ドキュメンテーションへのリンク
* Laracastsへのリンク
* Laravel Newsへのリンク
* エコシステムの紹介
<br>
==== 推奨設定 ====
以下に示すディレクトリは、必要に応じて作成する。<br>
初期状態ではwelcome.blade.phpのみが存在しており、アプリケーションの規模に合わせて構造化していくことが一般的である。<br>
<br>
* layoutsディレクトリを作成して、共通レイアウトを作成する。
* コンポーネントやパーシャルのためのディレクトリを作成する。
* ページ別のビューファイルを適切なディレクトリに整理する。
<br>
resources/
└── views/
    ├── components/  # 再利用可能なコンポーネント用
    ├── layouts/    # レイアウトテンプレート用
    ├── pages/      # 個別ページ用
    ├── partials/    # 部分的なビュー用
    ├── admin/      # 管理者専用の機能やビューを格納
    |                # 高度な権限が必要な操作のインターフェース
    |                # システム全体の管理や設定に関する画面
    |                # ユーザ管理、コンテンツ管理などの機能
    ├── user/        # 一般ユーザ向けの機能やビュー
    |                # プロフィール管理
    |                # 個人設定
    |                # ダッシュボード等、ユーザ固有の機能
    └── auth/        # 認証関連の全ての機能
                      # ログイン / 登録フォーム
                      # パスワードリセット
                      # メール確認
                      # 二要素認証 (必要な場合)
<br>
# admin/ディレクトリの例
resources/views/admin/
├── dashboard/          # 管理ダッシュボード関連
│  ├── index.blade.php
│  └── stats.blade.php
├── users/              # ユーザー管理関連
│  ├── index.blade.php
│  ├── create.blade.php
│  ├── edit.blade.php
│  └── show.blade.php
├── settings/          # 管理設定関連
│  ├── general.blade.php
│  └── security.blade.php
└── layouts/            # 管理画面専用レイアウト
    └── admin.blade.php
<br>
# user/ディレクトリの例
resources/views/user/
├── profile/            # プロフィール関連
│  ├── show.blade.php
│  └── edit.blade.php
├── dashboard/          # ユーザダッシュボード
│  └── index.blade.php
├── settings/            # ユーザ設定
│  ├── account.blade.php
│  └── notifications.blade.php
└── layouts/            # ユーザ画面用レイアウト
    └── user.blade.php
<br>
# auth/ディレクトリの例 (Laravel UI や Breezeを使用した場合)
resources/views/auth/
├── login.blade.php        # ログインフォーム
├── register.blade.php    # 登録フォーム
├── verify.blade.php      # メール確認
├── passwords/            # パスワード関連
│  ├── email.blade.php      # パスワードリセットメール送信
│  ├── reset.blade.php      # パスワードリセットフォーム
│  └── confirm.blade.php    # パスワード確認
└── layouts/              # 認証用レイアウト
    └── auth.blade.php
<br>
Laravelのディレクトリ構造は、プロジェクトの要件に応じて柔軟に調整することができる。<br>
論理的で管理しやすい構造を維持することが重要である。<br>
* 一貫した命名規則
*: 複数形でリソースを表現 (users, posts)
*: 動作を表す単語で操作を表現 (create, edit, show)
* モジュール化
*: 各セクション専用のレイアウトファイル
*: 再利用可能なコンポーネントの活用
*: パーシャルビューの適切な使用
* アクセス制御
*: ミドルウェアと組み合わせて適切なアクセス制御を実装
*: 権限に基づいたビューの表示制御
<br><br>
<br><br>


案内メニュー