laravel9の最初の設定手順

プロジェクトを作成

プロジェクトファイルを作成する。ここでは「testProject」とする。

composer create-project laravel/laravel testProject

作成したプロジェクトに移動する。

cd testProject

設定ファイルを調整

「.env」設定ファイルを開く。

vi .env

「DB_CONNECTION」項目にてデータベースを設定する。設定項目には「mysql」「postgresql」「sqlite」などが設定できる。

sqliteを設定した場合、「DB_HOST、DB_PORT、DB_DATABASE、DB_USERNAME、DB_PASSWORD」の項目は不要なため、コメントアウトとする。

それ以外のデータベースを設定した場合、それ以降を設定する。

「app.php」設定ファイルを開く。

vi config/app.php

「APP_NAME」項目にてアプリ名を設定。

「APP_URL」項目にてドメイン名を設定。ドメインがない場合はデフォルトのまま。

「timezone」項目にて「Asia/Tokyo」を設定。

「locale」項目にて「ja」を設定。

「fallback_locale」項目にて「ja」を設定。

SQLiteの場合の設定

sqliteのファイルを作成する。

touch database/database.sqlite

テーブルを作成

テーブルを作成する。次のコマンドにて、laravelが初期に設定されているテーブルを作成することができる。

php artisan migrate

必要なプラグインをインストール

composerにて必要なプラグインをインストールする。

composer require laravel/ui
composer require livewire/livewire

artisanにて必要なUIを追加する。

php artisan ui bootstrap --auth

artisanにて、ログイン機能を追加する。これを追加した場合、後に説明するユーザ登録機能「RegisterController」コントローラーは不要となる。

php artisan make:auth

nmpにて必要なプラグインをインストールし、その後にbuildする。

npm install --save-dev vite laravel-vite-plugin
npm run build

コントローラーを作成

コントローラを作成する。ここでは例として、「register」ページ用のコントローラーを作成した。

php artisan make:controller RegisterController --resource --model=Register

ルートを作成

「routes/web.php」を開く。

vi routes/web.php

ルートを設定するため、以下を最後に記述する。

Route::controller(RegisterController::class)->group(function() {
    Route::get('/register', 'index');
    Route::get('/register/create', 'create');
    Route::post('/register', 'store');
});

「register」以下に「index」ファイルを作成するため、以下のファイルを作成し、htmlを記述する。

vi resources/views/register/index.blade.php

接続チェック

テストサーバで接続チェックをする。

php artisan serve --host=localhost --port=8000

キャッシュクリア

うまく動かない場合、キャッシュをクリアを試す。

php artisan route:cache;

日本語化

「config/app.php」内にある3箇所を変更し、日本語設定する。

'locale' => 'ja'
'fallback_locale' => 'ja',
'faker_locale' => 'ja_JP',

会員登録画面、ログイン画面などを日本語化するために、日本語セットを追加する。
追加の際、「resources/lang/ja.json」というファイルを新しく作成し、以下を記述する。

{
    "Login": "ログイン",
    "login_id": "ログインID",
    "Register": "新規登録",
    "Forgot Your Password?": "パスワードを忘れた場合",
    "Reset Password": "パスワード再設定",
    "Send Password Reset Link":  "パスワード再設定URLを送信",

    "Name": "お名前",
    "Email Address": "メールアドレス",
    "Password": "パスワード",
    "Confirm Password": "パスワード(確認用)",
    "Remember Me": "ログイン状態を保存",

    "Hello!": "ご利用ありがとうございます。",
    "Reset Password Notification":  "パスワード再設定のお知らせ",
    "You are receiving this email because we received a password reset request for your account.": "あなたのアカウントでパスワード再発行のリクエストがありました。",
    "This password reset link will expire in :count minutes.": "再設定URLの有効期限は :count 分です。",
    "If you did not request a password reset, no further action is required.": "もしパスワード再発行をリクエストしていない場合、操作は必要ありません。",
    "If you’re having trouble clicking the \":actionText\" button, copy and paste the URL below\ninto your web browser: [:actionURL](:actionURL)": "\":actionText\"ボタンを押しても何も起きない場合、以下URLをコピーしてWebブラウザに貼り付けてください。\n[:actionURL](:actionURL)",
    "Regards": "よろしくお願いいたします"
}