Shellを実行
開発環境:CakePHP2.5.1
cronやコマンドラインからCakePHPを動かしたい時にはシェルを作成して、それを実行します。
基本的にはControllerと同じような作りになっています。
シェルの基本
ファイルは、app/Console/Command/に例えばHelloShell.phpを以下の様に作成します。
<?php
class HelloShell extends AppShell {
public function main() {
// 処理
}
}
そして以下の様なコマンドで実行します。
php /path/to/cakephp/app/Console/cake hellow main -app /path/to/cakephp/app
これでHellowShellのmainメソッドを実行することができます。
Welcome to CakePHP〜を非表示にする
Shellを実行してみると、「Welcome to CakePHP〜」という文字が表示されます。
これを消すにはシェル内で下記のようにします。
<?php
class HelloShell extends AppShell {
protected function _welcome() {}
}
lib/Cake/Console/Shell.phpに_welcome()があり、そこで「Welcome to CakePHP〜」を表示しているので、その関数をオーバーライドしてあげれば消すことができます。
もしくは、その_welcome()を呼び出しているstartup()をオーバーライドしても消すことができます。
<?php
class HelloShell extends AppShell {
public function startup() {}
}
