人気のPHP WEBアプリケーションフレームワークLaravelのTips。 (Laravelアプリの初期化)composer create-project laravel/laravel my-app

Laravel11で最初にやっておいた方が良い初期設定

● Laravel Breeze 日本語化パッケージ breezejp を入れる

https://github.com/askdkc/breezejp

composer require askdkc/breezejp --dev
php artisan breezejp

langディレクトリも作ってくれた上でその中に以下のファイルが追加されます。

lang
├── ja
│   ├── auth.php
│   ├── pagination.php
│   ├── passwords.php
│   └── validation.php
└── ja.json

また .env の 以下も書き換えてくれます

APP_TIMEZONE=Asia/Tokyo
APP_LOCALE=ja
APP_FALLBACK_LOCALE=en
APP_FAKER_LOCALE=ja_JP

● ログイン機能を入れる

・tailwind が良い場合

composer require laravel/breeze
php artisan breeze:install
# npm install && npm run dev

・bootstrapが良い場合

composer require laravel/ui
php artisan ui bootstrap --auth
# npm install && npm run dev

・varcharのデフォルト文字数を191文字にする

デフォルトでは、Laravelはutf8mb4文字セットを使用します。5.7.7リリースより古いバージョンのMySQLまたは10.2.2リリースより古いMariaDBを実行している場合、MySQLがそれらのインデックスを作成するために、マイグレーションによって生成されるデフォルトの文字カラム長を手作業で設定する必要が起きます。

変更ファイル : app\Providers\AppServiceProvider.php:22

public function boot()
{
    // ↓ この行を追加
    \Illuminate\Support\Facades\Schema::defaultStringLength(191);
}
MySQL 5.7.7以上やMariaDB 10.2.2以上では、この制限は緩和されており、この設定は必須ではありません。MySQL 8系など最新の環境では特に不要です。

・timezoneの設定を変更する

変更ファイル : .env:8

APP_TIMEZONE=UTC

 ↓

APP_TIMEZONE=Asia/Tokyo

・ロケールの設定を変更する

変更ファイル : .env:5

APP_LOCALE=en

  ↓

APP_LOCALE=ja

・ディスク設定にパーミッションを追加する

変更ファイル : config/filesystems.php

        'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'url' => env('APP_URL').'/storage',
            'visibility' => 'public',
          // ===== permissionsを追加 =====
            'permissions' => [
                'dir' => [
                    'public'  => 0777 ,
                    'private' => 0777 ,
                ],
                'file' => [
                    'public'  => 0666 ,
                    'private' => 0666,
                ],
            ],
            // ===== / permissionsを追加 =====

        ],

変更ファイルconfig/logging.php

        'daily' => [
            'driver' => 'daily',
            'path' => storage_path('logs/laravel.log'),
            'level' => 'debug',
            'days' => 7,
            // ===== permissionsを追加 =====
            'permission' => 0666,
            // ===== / permissionsを追加 =====
        ],

変更ファイル: config/cache.php:18

    'default' => env('CACHE_STORE', 'file'),

変更ファイル: config/cache.php

        'file' => [
            'driver' => 'file',
            'path' => storage_path('framework/cache/data'),
            // ===== permissionsを追加 =====
            'permission' => 0666,
            // ===== / permissionsを追加 =====
        ],

umaskも設定する必要がある場合は次のようにします
設定ファイル : app/Providers/AppServiceProvider.php

    public function boot()
    {
        // umask設定
        umask(0);
    }

● .env の内容を変更する

APP_URL=https://your.site.com

合わせてエディタも設定しておきます。(エラー時に鉛筆のアイコンをクリックすると設定したエディターで開くことができます)

IGNITION_EDITOR="vscode"

後 DB 関連も書き換えておきましょう

● Laravelのログを設定する

Laravelのログを日別でローテーションさせる( +自動削除 )|プログラムメモ
Laravel でユーザーがログインしたログを取得する|プログラムメモ
LaravelでSQLのログとスロークエリログを取得する|プログラムメモ
Laravelで任意のログチャンネルを追加してログを出力する|プログラムメモ

● 必要なパッケージを追加する

必要であれば以下のようなパッケージをインストールしておきます

# renatomarinho/laravel-page-speed (最終的に生成されるhtmlをminifyする)
composer require renatomarinho/laravel-page-speed

# helper
composer require laravel/helpers

# form ヘルパー(Laravel Collective)
composer require laravelcollective/html

# yaml
composer require symfony/yaml

# Debug Bar
composer require barryvdh/laravel-debugbar

# DB Backup
composer require spatie/laravel-db-snapshots

# Laravel 6 7 で Auth を使う場合
composer require laravel/ui

Laravel で DB のバックアップを簡単にとる (laravel-db-snapshots)|プログラムメモ

● 不要なデフォルトのミドルウェアを停止する

TrimStringsはフォーム入力の無駄な前後スペースを取り除きます。

不要ならコメントアウトしましょう app/Http/Kernel.php

    protected $middleware = [
        \App\Http\Middleware\CheckForMaintenanceMode::class,
        \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
// OFF        \App\Http\Middleware\TrimStrings::class,
        \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
        \App\Http\Middleware\TrustProxies::class,
    ];

● Laravelでエラー画面からワンクリックでソースコードのエラー箇所に移動する

Laravelでエラー画面からワンクリックでソースコードのエラー箇所に移動する|プログラムメモ

● VS CodeやPhpStormでコード補完(インテリセンス)が効くようにする

laravel-ide-helper を使用する|プログラムメモ

● Pestをインストールする

LaravelでPest使う|プログラムメモ

No.1473
11/07 09:29

edit