13
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【CakePHP】コンソールから実行

Last updated at Posted at 2014-06-30

コンソールからCakeを実行する方法。例えばcronで使う。

##コンソールから実行されるクラス作成
app/Console/Command/直下に、AppShellを継承したクラスを作成する。

コンソールから実行されるクラス
class HogeShell extends AppShell{
    //使用するモデル
    public $uses = ['Hoge']; 

    //AppShellでウェルカムメッセージの表示を行っている。オーバライすると抑止される。
    //初期化に使うのもあり。
    function startup(){
        parent::startup();
    }

    //呼び出しの際にメソッドの指定がなければmain()が呼ばれる。コントローラのindex()と同じ。
    function main(){
         // モデルを使用できる
         $hoge = $this->Hoge->find('all');
    } 

    function hogeMethod() { 
        $arg0 = $this -> args[0]; // コマンドで渡した引数は $this -> args に配列でセットされている。
    }

    /** このようなパラメータの渡し方は出来ない
    function myInvalidMethod( $arg ) {
    }
    */
}

##コンソールから実行

コンソールから実行
app/Console/cake.php クラス名(shellを除いたもの) メソッド名(省略すればmain) パラメータ(複数渡せる)
13
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?