事業内容
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へ