「Laravel - 設定」の版間の差分
(ページの作成:「== 概要 == <br><br> == ディレクトリ構造 == 新しいLaravelプロジェクトを作成する。<br> composer create-project laravel/laravel <プロジェクト名> <br> * app *: アプリケーションのコアコードを配置する。 ** Http/Controllers **: コントローラクラス ** Models **: Eloquentモデル ** Providers **: サービスプロバイダ * config *: 設定ファイルを格納する。 ** app.php **: アプリケーション…」) |
|||
109行目: | 109行目: | ||
DB_USERNAME=<データベースのユーザ名> | DB_USERNAME=<データベースのユーザ名> | ||
DB_PASSWORD=<データベースのパスワード> | DB_PASSWORD=<データベースのパスワード> | ||
<br><br> | |||
== アプリケーションキーの生成 == | |||
Laravelアプリケーションの暗号化キーを生成する。<br> | |||
php artisan key:generate | |||
<br> | |||
.envファイル内のAPP_KEYの値を設定する。<br> | |||
これは、32文字のランダムな文字列が生成される。<br> | |||
<br> | |||
アプリケーションキーは以下に示す用途で使用される。<br> | |||
* セッションデータの暗号化 | |||
* クッキーデータの暗号化 | |||
* その他の機密データの暗号化 | |||
<br> | |||
<u>※重要性</u><br> | |||
* アプリケーションのセキュリティに不可欠である。 | |||
* アプリケーションを初めて設定する際に必ず実行する必要がある。 | |||
* キーが設定されていない場合、アプリケーションは安全に動作しない。 | |||
<br><br> | |||
== データベースのマイグレーション == | |||
データベースの構造を作成・更新する。 | |||
php artisan migrate | |||
<br> | |||
database/migrationsディレクトリ内のマイグレーションファイルを実行する。<br> | |||
テーブルの作成、修正、削除等のデータベース構造の変更を行う。<br> | |||
<br> | |||
また、マイグレーションの実行履歴をデータベースのmigrationsテーブルで管理する。<br> | |||
<br> | |||
特徴<br> | |||
* データベース構造をバージョン管理できる。 | |||
* チーム開発時にデータベース構造を共有できる。 | |||
* ロールバック可能 | |||
*: <code>php artisan migrate:rollback</code> | |||
* 開発環境と本番環境で同じ構造を保証できる。 | |||
<br><br> | |||
== ストレージディレクトリのシンボリックリンク作成 == | |||
パブリックからアクセス可能なストレージへのシンボリックリンクを作成する。 | |||
php artisan storage:link | |||
<br> | |||
public/storageからstorage/app/publicへのシンボリックリンクを作成する。<br> | |||
アップロードされたファイルへのパブリックアクセスを可能にする。<br> | |||
<br> | |||
<u>使用例と重要性</u><br> | |||
* ユーザーがアップロードした画像を表示する。 | |||
* パブリックにアクセス可能なファイルを管理する。 | |||
* セキュアなストレージ構造を維持しながら、必要なファイルへのアクセスを提供する。 | |||
<br> | |||
<u>実行するタイミング</u><br> | |||
* アプリケーションの初期セットアップ時 | |||
* ファイルアップロード機能を実装する際 | |||
* 本番環境へのデプロイ時 | |||
<br><br> | <br><br> | ||
2024年11月3日 (日) 09:22時点における版
概要
ディレクトリ構造
新しいLaravelプロジェクトを作成する。
composer create-project laravel/laravel <プロジェクト名>
- app
- アプリケーションのコアコードを配置する。
- Http/Controllers
- コントローラクラス
- Models
- Eloquentモデル
- Providers
- サービスプロバイダ
- config
- 設定ファイルを格納する。
- app.php
- アプリケーションの基本設定
- database.php
- データベース接続設定
- auth.php
- 認証設定
- database
- migrations
- データベースマイグレーションファイル
- seeders
- データベースシーダ
- factories
- モデルファクトリ
- migrations
- routes
- web.php
- Web用ルート定義
- api.php
- API用ルート定義
- web.php
- resources
- views
- Bladeテンプレート
- css
- CSSファイル
- js
- JavaScriptファイル
- views
- public
- 公開ディレクトリ
- index.php
- エントリーポイント
- アセットファイル
- 画像、CSS、JS等
- storage
- app
- アプリケーションが生成するファイル
- logs
- ログファイル
- framework
- フレームワークが生成する一時ファイル
- app
.env
.envファイルの配置
Laravelのプロジェクトディレクトリ直下にenvディレクトリを作成する。
cd <Laravelのプロジェクトディレクトリ> mkdir env
次に、以下に示すような本番向け、開発向け等に名前を分けてディレクトリを作成する。
cd env mkdir dev \ # 開発向け staging \ # 評価・試験向け prod # 本番向け
この時、プロジェクトディレクトリ直下に存在する.envファイルを、各ディレクトリにコピーする。
また、プロジェクトディレクトリ直下にある既存の.envファイルは削除すること。
.envファイルの切り替え
.envファイルの読み込みは、Laravelのプロジェクトディレクトリ直下にあるbootstrap/app.phpファイルで指定する。
サーバ情報からホスト名を取得して切り替える。
// bootstrap/app.phpファイル
// 追記
switch ($_SERVER['HTTP_HOST'] ?? 'localhost') {
case 'localhost': // 開発向け
$app->loadEnvironmentFrom('env/dev');
break;
case 'staging.maydomain.com': // 評価・試験向け
$app->loadEnvironmentFrom('env/staging');
break;
case 'prod.maydomain.com': // 本番向け
$app->loadEnvironmentFrom('env/prod');
break;
}
キャッシュの更新
キャッシュを更新 (configのキャッシュ再生成) して、各環境で正常に画面が表示されることを確認する。
php artisan config:cache
.envファイルの設定
APP_NAME=<アプリケーション名> APP_ENV=local APP_KEY=<自動生成される> APP_DEBUG=<true または false 開発向けはdebugを指定する> APP_URL=<WebサイトのURL 例: http://localhost> DB_CONNECTION=<データベース 例: mysql> DB_HOST=<データベースのホスト名 127.0.0.1> DB_PORT=<データベースに接続するポート番号 例: 3306> DB_DATABASE=<データベース名> DB_USERNAME=<データベースのユーザ名> DB_PASSWORD=<データベースのパスワード>
アプリケーションキーの生成
Laravelアプリケーションの暗号化キーを生成する。
php artisan key:generate
.envファイル内のAPP_KEYの値を設定する。
これは、32文字のランダムな文字列が生成される。
アプリケーションキーは以下に示す用途で使用される。
- セッションデータの暗号化
- クッキーデータの暗号化
- その他の機密データの暗号化
※重要性
- アプリケーションのセキュリティに不可欠である。
- アプリケーションを初めて設定する際に必ず実行する必要がある。
- キーが設定されていない場合、アプリケーションは安全に動作しない。
データベースのマイグレーション
データベースの構造を作成・更新する。
php artisan migrate
database/migrationsディレクトリ内のマイグレーションファイルを実行する。
テーブルの作成、修正、削除等のデータベース構造の変更を行う。
また、マイグレーションの実行履歴をデータベースのmigrationsテーブルで管理する。
特徴
- データベース構造をバージョン管理できる。
- チーム開発時にデータベース構造を共有できる。
- ロールバック可能
php artisan migrate:rollback
- 開発環境と本番環境で同じ構造を保証できる。
ストレージディレクトリのシンボリックリンク作成
パブリックからアクセス可能なストレージへのシンボリックリンクを作成する。
php artisan storage:link
public/storageからstorage/app/publicへのシンボリックリンクを作成する。
アップロードされたファイルへのパブリックアクセスを可能にする。
使用例と重要性
- ユーザーがアップロードした画像を表示する。
- パブリックにアクセス可能なファイルを管理する。
- セキュアなストレージ構造を維持しながら、必要なファイルへのアクセスを提供する。
実行するタイミング
- アプリケーションの初期セットアップ時
- ファイルアップロード機能を実装する際
- 本番環境へのデプロイ時