Laravel4、マイグレーション時のコード補完
タグ: Laravel4
Laravel4でマイグレーション時にSchemaクラスに渡すクロージャーの中で、テーブル変数の保管ができなくて、悩んでいるあなた。ズバッと解決できます。
今回はNetbeansとPHPStormでの方法を紹介します。
IDE Helper
このコード補完だけでしたら、実はコード補完用のPHPファイルを作成してくれるパッケージである、IDE Helperは必要ありません。ですが、他の保管時に便利ですから、使用することをおすすめします。Eclips、NetBeans、PHPStomeなどで利用できます。その他のエディターにも保管の用のパッケージはGitHubを探せば大抵存在しています。
Nebeans
マイグレーションを生成したら、最初にuse文を書きます。use Blu
と叩くと、保管でBlueprintクラスが選択されるでしょう。それをEnterで確定しましょう。
use Illuminate\Database\Schema\Blueprint;
次にちょっとしたトリックを使用します。NetBeansの現在の問題点は、クロージャーの引数のタイプに対する補完が効かないことです。そこで、up()メソッドの引数として、ダミーで宣言してしまいます。
... public function up( Blueprint $table = null ) { Schema::create('table_name', function ($table){ // }); } ....
upの引数とcreateの第2引数であるクロージャーで指定する引数は同じ名前にしておきます。これで$table->
と叩けば、メソッドの補完が現れますよ。
PHPStormの場合
PHPStormでは、クロージャーの引数に対しても補完が動作するため、手間は一つ少ないです。まず、use Bl
と叩きましょう。Netbeansのように一つに絞りきれませんが、第一候補としてBlueprintクラスが上がっています。Enterで確定しましょう。
続いてクロージャーの引数に直接タイプヒントBlueprint
を指定します。
... use Illuminate\Database\Schema\Blueprint; class CreateTest extends Migration { public function up() { Schema::create('table_name', function(Blueprint $table){ // }); } ...
後はこれで、$this->
でメソッドの補完が動作します。