ある日、こんなツイートを見つけた…
Laravel productivity tip! Add this little function to your bash profile to quickly execute anything with the Tinker command and get the results instantly. pic.twitter.com/qIB9pQCTWt
— Philo Hermans (@Philo01) October 16, 2021
1行のコマンドでtinkerが使えるだと…!?
tinker 関数を bash プロファイルに追加し、コマンド実行すれば、結果を即座に取得できる!
という旨の内容でした。ツイートの添付画像を見ると、とても分かりやすい内容で便利そうだったので自分でもやってみました。
- PC環境
- Windows 10 pro
- VSCode
- Git Bash
1, ホームディレクトリに .bash_profile
ファイルを作成
Git Bash 環境なので、ホームディレクトリに .bash_profile
ファイルがあれば自動的にそのファイルを読み込んでくれます。ファイル内に関数などを定義していればそのまま使えちゃいます。ちなみに、 Windows 10 のホームディレクトリは C:\Users\ユーザー名
となっています。(「プロジェクトルート」と混合しないように注意)
2, 作成した .bash_profile
ファイルに関数を定義
コマンド tinker
を利用できるように、関数を定義して保存します。これで、VSCode を立ち上げて Git Bash ターミナルを使用すると tinker
コマンドが使えるようになります。
function tinker()
{
if [ -z "$1" ]
then
php artisan tinker
else
php artisan tinker --execute="dd($1);"
fi
}
3, Git Bash ターミナルからコマンドを打つ
VSCode を立ち上げて、ターミナルを Git Bash に設定しましょう。そして、Laravel のプロジェクトルートに移動して、以下のコマンドを入力します。
$ tinker 'User::first()'
予め、Userモデル情報が保存してある場合は、Userモデルの情報がターミナル上に出力されると思います。このように、1行だけで目的のモデル情報を簡単に取得することができました。
insertした内容を手軽に確認したい
と思ったら、この方法を試してみるのも良いかもしれません。