Laravelのバリデーターは予め多彩なルールが用意されています。 私自身は.Net歴が長いので数値範囲はRangeのアノテーションみたいな感じで指定すればいいという先入観からちょっとハマりました。 …
Laravelのルートディレクトリにpackagesディレクトリを作って構成する場合、その中に置いたクラスファイルはそのままでは参照できません。
問題
以下の場所にあるSampleClass.php
のインスタンスを生成しようとすると、Not Foundとエラーが表示されます。
laravel-root
|
|- app
|- config
|- database
|- public
|- resources
|- routes
|- packages
| |- SampleClass.php ← これ
|- storage
|- tests
ex. $sample = new Packages\SampleClass(); ← error!
解決方法
Laravelのオートローダーはapp, databaseのディレクトリが対象になっています。
packages
ディレクトリを対象に追加して解決します。
composer.json
オートローダーの設定はcomposer.jsonで行います。
packagesディレクトリを追加します。
/composer.json
"autoload": {
"psr-4": {
"App\\": "app/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/",
"Packages\\": "packages/"
}
},
再定義
コマンドラインからオートローダー設定に基づいて対象ファイルを再定義するコマンドを実行します。
composer dump-autoload
コメントを書く