Symfony Advent Calendar 2016の5日目の記事です。
Symfony2を使っていると、Web上でコマンドを実行したくなることがあると思います。
自分でBundleを作ろうと思いましたが、検索したらBundleがありました。
やはり世の中には同じようなことを考えている方がいるんですね。
導入方法
使い方は非常に簡単です。
まずはComposerでConsoleBundleをインストールします。
|
|
次にAppKernel.phpに追記していきます。
流石に、本番環境で使うのは避けたほうがよいので、dev,testのみでBundleが読み込まれるように記述します。
|
|
そしてルーティングの設定をするために、 app/config/routing_dev.yml
を編集します。
|
|
最後に assets:install web
を実行します。
|
|
実際に動かしてみる
まずはSymfonyにhttpでアクセスしましょう。
今回はビルトインサーバを利用します。
|
|
右下の、Consoleアイコンをクリックします。
以下のようにコンソールページが表示されます。
サジェストも完備
下の入力ボックスに入力すると、サジェストされます。
こんな感じに、簡単に導入、実行することが出来ます。
ただし、対話式は無理です。httpはステートレスだから仕方ないですね。
どこで使えるのか?
僕がよく使うのはcache:clear
やdebug:router
やdebug:container
などで利用しています。
最後に
Symfonyには、欲しいと思う機能は結構Bundleとして公開されています。 ぜひぜひ探してみてはいかがでしょうか?
また、余裕があるのならばBundleがどのように実装されているかを覗いてみると新たな学びがあると思います。