概要
laravelのtinkerを用いて対話的にプログラムを実行する。tinkerはRuby on Railsで言うところのrails consoleで、Laravelを用いた環境に対するプログラムの発行を行うツールである
起動
artisanのあるディレクトリに移動し、以下のコマンドで起動できる
$ php artisan tinker Psy Shell v0.8.6 (PHP 5.6.30-12~ubuntu16.04.1+deb.sury.org+1 — cli) by Justin Hileman
PHPプログラムの実行
tinkerを起動すると、対話的にプログラムを実行することができる
>>> 5 + 2 => 7 >>> 2 ** 8 => 256
当然PHPの標準ライブラリを利用することも可能
>>> strlen('hogehoge'); => 8 >>> array_map(function($n) { return $n * 10; } , [2,4,6,8,10]); => [ 20, 40, 60, 80, 100, ]
複数行に跨ぐことも可能。書きづらいので基本的にワンライナーであるべきだとは思う。
>>> function sayHello($name) { ... return "Hello, $name"; ... } >>> sayHello('sasaki'); => "Hello, sasaki"
LaravelModelの操作
Userモデルが存在する時、tinkerを用いてUserの作成と取得を行う。
作成
>>> $user = new App\User(); => App\User {#703} >>> $user->email = 'hogehoge@fugafuga.com'; => "hogehoge@fugafuga.com" >>> $user->password = md5('hogehoge'); => "329435e5e66be809a656af105f42401e" >>> $user->save(); => true
取得
>>> $user = new App\User(); => App\User {#703} >>> $user->first(); => App\User {#714 id: 1, email: "hogehoge@fugafuga.com", name: "", created_at: "2017-07-11 11:37:49", updated_at: "2017-07-11 11:37:49", deleted_at: null, }
所感
- DBの内容確認したいけどSQL書くのが面倒という時にも使えそう
- 実装したロジックの動作確認の戦力になりそう
- Laravel関係なくPHPの簡単な動作確認なんかにも使えそう