Azukiシステムのインストール

Laravelをインストールする

Laravel 6.x インストール
Laravel 9.x インストール  (別タブで開きます)  を参考にLaravelをインストールしてください。
バージョン指定なしでインストールを行うとカレントバージョンがインストールされます。
インストールする際にはcomposerで明示的にバージョン指定を行う方が確実です。

$ composer create-project --prefer-dist laravel/laravel [ディレクトリ名] [Laravelのバージョン:6.xや9.x]

LaravelバージョンとAzukiバージョンの対応はAzukiシステムとはをご覧ください。

Laravel7.x以上で使用する場合は

$ composer require laravel/ui

を実行してください。認証スカフォールドが laravel/ui に移動されたためです。

Azukiのcomposer.jsonにてrequire指定しているためAzuki4系以降ではAzukiのインストールでインストールされます。

Laravelインストール後、アプリケーションキーの設定は忘れずに行ってください。

publicディレクトリを変更したい場合は、[app\Providers\AppServiceProvider.php]の register メソッドにて


    public function register()
    {
        $publicPath = base_path() . '/html';
        // Laravel9.x系は
        $this->app->instance('path.public', $publicPath);
        // Laravel10.x以降は
        $this->app->usePublicPath($publicPath);
    }
    

($publicPathは設定したいpublicディレクトリのフルパスです) のように設定して変更することが可能です。

Laravel10.xでは新たにusePublicPathメソッドが追加され、Lravel自体がpublicパスの変更に対応しています。 Laravel10.x Publicパスの結合

※Laravel初期ミドルウェアに関する注意
Laravelでは[app\Http\Kernel.php]にて [\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class]というミドルウェアが登録されています
これは、ポスト値が空の場合にNULLに変更するミドルウェアです。 ただし、空文字をポストするとデータを空で登録したい場合に都合が悪くなります。そのような挙動が必要な場合はこのミドルウェアを無効に する必要があります。
Azukiシステムはこのミドルウェアを無効にしていることを前提としています
無効にするには[\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class]をコメントアウトします。

Azukiパッケージをインストールする

laravelをインストールしたディレクトリで

$ composer require la-cuppe/azuki

を実行してください。

開発バージョンを取得するにはdev-masterを引数の最後につけてください

Azukiパッケージの初期設定を行う

環境の確認

環境面にて以下が設定されていることが前提です

  • Web経由にてLaravelのページに正しくアクセス出来ていること
  • 本システムで使用するDBが構築されていること
  • DBへの接続設定が.envにて出来ていること
  • .envにてメールに関する設定が出来ていること

ロケーションの設定

config/app.phpにて


    'timezone'        => 'Asia/Tokyo',
    'locale'          => 'ja',
  

と設定を変更します。

初期設定

初期設定の基本的な手順は以下になります。

  • publicディレクトリにCSS・JSファイルを出力します。
  • DBのマイグレーションを行います。
  • SEEDにて初期データを投入します。
  • 日本語の言語ファイルを設定します。

CSS・JSファイルの出力

$ php artisan vendor:publish --provider="Azuki\ServiceProvider" --tag=public

を実行します。

マイグレーションの実行

まず初めにLaravelにて登録されているmigrationファイルを実行しないように削除または移動してください。 例)

$ mv database/migrations database/migrations_default

など。
その後 migration を実行します。

$ php artisan migrate

migrate に失敗した場合はエラーメッセージを元に調整してください。

SEEDによる初期データ投入

$ php artisan vendor:publish --provider="Azuki\ServiceProvider" --tag=seed

を実行します。
database/seeders に seeder ファイルが出力されます。

Azukiバージョンによっては、 database/seeds になります。

DirectorsTableSeeder.php
をエディタで開き、ユーザー名、パスワードを変更してください。

$ composer dump-autoload

を実行し、seederファイルを実行できるようにします。

laravel8.x以上の場合は上記のaump-autoloadの作業は不要です

$ php artisan db:seed --class=MasterDataSeeder
$ php artisan db:seed --class=DirectorsTableSeeder

を実行します。

エラーメッセージの日本語化

この時点ではエラーメッセージなどがの日本語化されていません。

$ php artisan vendor:publish --provider="Azuki\ServiceProvider" --tag=lang

を実行します。

resources/lang/vendor/azuki/jaディレクトリが出力されるので、このディレクトリを resources/lang/jaとして、コピーあるいは移動します。

Version:3.0.0にてresources/lang/jaに直接展開するように変更しました。
また、resources/lang/vendor/azuki/jaディレクトリには名前スペース付きのlangファイルとして 扱う言語ファイルを展開しています。