PHPのWebフレームワークLaravelの「 artisan make:** 」コマンドを更に便利に使えるプラグイン「interactive-make」の紹介です。

Laravel には コマンドライン上から マイグレーションやコントローラー、
その他 各種コードの雛形を自動作成する「make」コマンドが用意されています。

 artisan make:**」 に用意されているコマンドリスト * Laravel 5.4.*

# controllerを生成する例 * Userモデルを紐付け
# この例ではapp/Http/Controllersに 'UserController.php'が作成されます
php artisan make:controller UserCotroller -m User


上記のコマンドはコントローラーを作成する一例ですが、
makeコマンドにはコードの雛形が作成 & それに紐づくオプションも用意されています。

しかしながら、場合によってはファイル名の文字数の関係で、でコマンドが長くなることも ...

そんなmakeコマンドですが、 更に使いやすくしてくれるプラグインが「interactive-make」です。

* interactive-make

 

interactive-makeで出来ること

makeコマンド(コード生成)の機能を 対話シェル形式で使うことができる ( * 現時点ではLaravel 5.4専用 )
 

interactive-makeのインストール

interactive-makeのインストールはcomposerコマンドを使って コマンド上から行います。

# projectルート上で
composer require laracademy/interactive-make


ダウンロードが完了すると、' config/app.php ' 内の providers配列内に下記のクラスを追加します。

/* config/app.php  'providers' 内にプロバイダークラスを追加 */
'providers' => [
    // ...
    Laracademy\Commands\MakeServiceProvider::class,
],


これで " interactive-make " の導入は完了です。
 

interactive-makeの使い方

interactive-makeの使い方は簡単で、プロジェクトルート上で下記のコマンドを打てば起動します。

# interactive-makeの起動
php artisan make

* interactive-makeを起動させた画面 ( * 入力補助も備わっています  )


interactive-makeから上記のmigrationを実行すると、
下記のように対話シェルが起動し、応えていくだけでオプションが追加されていきます。
( * マイグレーション以外でも、オプションが用意されているmakeコマンドは同様に対話シェル形式でコード生成が出来ます )

 > migration # マイグレーションを起動

# テーブル名
 Table Name (Example: users): 
 > informations # この例ではテーブル名をinformationsにしました

# 新しいテーブルを作成しますか?* 上記の'informations'のcreateコードが追加されます
 Are you creating a new table (yes/no) [no]:
 > yes

# 'informations'テーブルのクリエイトオプション
Setting create option for table informations
 # デフォルトのmigrationフォルダを使いますか? * databases/migrations
 Use default migration folder? (yes/no) [yes]:
 > yes

# 下記のマイグレーションファイルが 'databases/migrations'に作成
Created Migration: 2017_05_15_035652_create_Informations_table

* 実際にinteractive-makeを使って、"Model", "Controller"を作成した動画

 

Summary

以上が " interactive-make " の紹介でした。

interactive-makeを使ってコードを生成すると、
コマンドの打ち間違え、オプションの渡し忘れが少なくなりそうな印象を受けました。

また、コマンドを使ってのコード生成が凄く楽になります。

interactive-makeは現在の所 Laravel 5.4.*のみの対応ですが、
時期バージョンの Laravel 5.5は LTS (長期サポート) としてリリースされる予定なので
鉄板のプラグインになるかもしれませんね!

GigHub : laracademy/interactive-make

 

この記事のカテゴリ

プログラミング

この記事のタグ

Laravel , PHP , 効率化

Socialシェアボタン

スポンサーリンク