事業内容

task




コマンドで実行可能なタスクを作成してみます。

まず、コマンドで下記のようにします。

> symfony generate:task タスク名

今回はsampleというタスクを作ります。
上記コマンドを実行すると、プロジェクトルート配下のlib\taskに『タスク名Task.class.php』が作成されます。

symfonyのタスクは『ネームスペース:タスク名』で実行可能ですが、
デフォルトではネームスペースが設定されていないため、設定します。
今回ネームスペースは『corpore』とします。



上記のように編集後、コマンドプロンプトで-hコマンドを実行します。
ちゃんと表示できたら正常に追加されて、実行も可能なはずです。



今回は『-m』オプションでメッセージを受け取り表示できるようにします。

まず、configureメソッドにオプションを追加します。



実行側のexecuteメソッドは以下のようにします。



$optionsはオプションの連想配列なので、追加したオプションの内容を表示するようにしているだけです。


タスクでDBを利用したい場合、connectionオプションのデフォルトがdoctrineになっています。
executeメソッドでconnectionを取得している箇所がありますが、
これはconnectionオプションで指定されたデータベース名(database.ymlに定義されています)のコネクションを取得しています。
そのため、普通に下記のような感じでデータ取得できます。

$datas = Doctrine::getTable('テーブル名')->findAll();




Symfonyへ

テンプレートのpondt