2013年7月29日月曜日

CakePHP2.x シェルを使う

CakePHP2.x系でシェルを使うには

/app/Console/Command/TestShell.php

<?
class TestShell extends AppShell
{
        public function main()
  {
                CakeLog::write( "debug", "test" );
  }
}
?>

テストなので適当にログを吐き出すだけ。
ほとんどコントローラっぽく使えるようだ。

<?
// ※未テスト
class TestShell extends AppShell
{
        public $uses = array( "User" );

public function main()
{
                $this->User->find( "all" );
}
}
?>

あとはこいつをシェルスクリプトから呼び出せばいい。
メソッド名がmainの場合は引数で渡さなくても勝手に解決してくれるみたい。

        $ /app/Console/cake Test -app

さて問題は、シェルスクリプトもそもそもあまりコンソールにも触らない自分は
cronどころかそもそもシェルスクリプトがどういったものなのかすら知らないということだ。

なのであくまでCakePHPのシェルクラスの作り方ページ

参考にしたサイト
http://blog.xao.jp/blog/cakephp/cakephp-2-0-%E3%81%A7-cron-%E3%82%92%E4%BD%BF%E3%81%86/

0 件のコメント:

コメントを投稿