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]
をコメントアウトします。
laravelをインストールしたディレクトリで
$ composer require la-cuppe/azuki
を実行してください。
開発バージョンを取得するにはdev-master
を引数の最後につけてください
環境面にて以下が設定されていることが前提です
config/app.php
にて
'timezone' => 'Asia/Tokyo',
'locale' => 'ja',
と設定を変更します。
初期設定の基本的な手順は以下になります。
$ php artisan vendor:publish --provider="Azuki\ServiceProvider" --tag=public
を実行します。まず初めにLaravelにて登録されているmigrationファイルを実行しないように削除または移動してください。 例)
$ mv database/migrations database/migrations_default
など。$ php artisan migrate
migrate に失敗した場合はエラーメッセージを元に調整してください。
$ php artisan vendor:publish --provider="Azuki\ServiceProvider" --tag=seed
を実行します。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ファイルとして
扱う言語ファイルを展開しています。