Shellを実行
開発環境:CakePHP2.5.1
cronやコマンドラインからCakePHPを動かしたい時にはシェルを作成して、それを実行します。
基本的にはControllerと同じような作りになっています。
シェルの基本
ファイルは、app/Console/Command/に例えばHelloShell.phpを以下の様に作成します。
1 2 3 4 5 6 |
<?php class HelloShell extends AppShell { public function main() { // 処理 } } |
そして以下の様なコマンドで実行します。
1 |
php /path/to/cakephp/app/Console/cake hellow main -app /path/to/cakephp/app |
これでHellowShellのmainメソッドを実行することができます。
Welcome to CakePHP〜を非表示にする
Shellを実行してみると、「Welcome to CakePHP〜」という文字が表示されます。
これを消すにはシェル内で下記のようにします。
1 2 3 4 |
<?php class HelloShell extends AppShell { protected function _welcome() {} } |
lib/Cake/Console/Shell.phpに_welcome()があり、そこで「Welcome to CakePHP〜」を表示しているので、その関数をオーバーライドしてあげれば消すことができます。
もしくは、その_welcome()を呼び出しているstartup()をオーバーライドしても消すことができます。
1 2 3 4 |
<?php class HelloShell extends AppShell { public function startup() {} } |
柴田 篤志
最新記事 by 柴田 篤志 (全て見る)
- WordPressとCakePHPの共存 - 2014年10月22日
- サイトマップの作成方法 - 2014年10月12日
- INSERTしたIDを取得する - 2014年10月4日