タイトルはテンション上がったので付けてしまいました。
問題
Laravelで php artisan tinker
を頻繁に使っているが、毎回名前空間を指定するのが辛かった。
こんな感じ。
>>> App\Models\User::find(1)->toSql()
=> "select * from `users` where `users`.`deleted_at` is null"
面倒なのでGoogle日本語入力の単語登録をしていたが、エンジニア的なアプローチとしては適切ではないように思っていた。つまりダサい。
解決策
調べていたら、Laravelの Class aliases は動的に設定できるらしい。
これを利用して、下記のファイルを Tinker を呼び出す時に読み込ませてあげればよい。
.tinker
<?php
$loader = Illuminate\Foundation\AliasLoader::getInstance();
$loader->alias('User', 'App\Models\User');
こうなる。
php artisan tinker .tinker
>>> User::find(1)->toSql()
=> "select * from `users` where `users`.`deleted_at` is null"
かなり打ちやすくなった。