LaravelのUserモデルはapp/User.php
にある。
Artisanコマンドで追加したモデルもapp/
に作られていき収拾がつかなくなっていく。
整頓のためapp/Models/
ディレクトリを作って、そこにモデルを置くよう構成を変更していきます。
モデルが増えてから変更するのは大変なため、早めに構成を決めておいたほうが良いです。
環境
- Laravel 7.27.0
バージョン 5.x も同様な設定で可能かと。
Userモデルを移動する
まずはapp/Models/
ディレクトリを作って、そこにUserモデルを移動します。
移動後に名前空間をパスに合わせ変更します。
変更するファイルはapp/User.php
だけでなくauth.php
とUserFactory.php
もです。
app/User.php
はapp/Models/User.php
に移動させ、名前空間を変更する。
<php
-- namespace App;
++ namespace App/Models;
config/auth.php
'providers' => [
'users' => [
'driver' => 'eloquent',
-- 'model' => App\User::class,
++ 'model' => App\Models\User::class,
],
database/factories/UserFactory.php
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
-- use App\User
++ use App\Models\User
use Faker\Generator as Faker;
use Illuminate\Support\Str;
キャッシュをクリアする
モデルのディレクトリを変更したらキャッシュをクリアします。
$ composer dump-autoload
$ php artisan cache:clear
$ php artisan config:clear
モデルの生成先ディレクトリを指定する
artisanコマンドで生成する際にはモデルのディレクトリを指定できます。
# app/Hoge.phpができる
$ php artisan make:model Hoge
# app/Models/Hoge.phpができる
$ php artisan make:model Models/Hoge
こんな感じでモデルのディレクトリ構成を変更できます。
参考
laravel newコマンドでbash:laravel:command not found
Laravelschedule2020-10-05
LaravelのModelsのディレクトリ構成を変更する
Laravelschedule2020-09-02
【Laravel】UserAgentでガラケー用のViewを切り替えるためのmiddleware
Laravelschedule2020-04-21
LaravelでCSRF保護からURIを除外する
Laravelschedule2020-01-23