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() {} }