おぼえがき

おぼえがき

fuelphpでバッチ処理(oil refineを利用する)

2013-04-17 | php
oil refineをちゃんと見る

バッチ処理を動かすときは、oil refineを利用するんだが、
ちょいとハマったところもあるので、まとめておく

バッチ処理は、全て、fuel/app/tasks/ここのディレクトリ
配下に配下に置くようになっている。


2 namespace Fuel\Tasks;
3 class Hoge
4 {
5 public static function run()
6 {
7 echo "hoge";
8 }
9 }


これを実行するには、oil refine hoge
runメソッドが実行される


2 namespace Fuel\Tasks;
3 class Hoge
 4 {
5 public static function run()
6 {
7 echo "hoge";
8 }
9 public static function sample()
10 {
11 echo "this is sample";
12 }
13 }


これを実行するには、oil refine hoge:sample
runメソッドではなく、オリジナルのメソッドが実行される


2 namespace Fuel\Tasks;
3 class Hoge
4 {
5 public static function run($a,$b)
6 {
7 echo $a;
8 echo $b;
9 echo "hoge";
10 }
11 public static function sample()
12 {
13 echo "this is sample";
14 }
15 }


これを実行するには、oil refine hoge AAA BBB
これで、runメソッドに引数を渡すことができる

そんざいする、タスクをタスクを確認する
Available tasks:
php oil refine install
php oil refine migrate:help
php oil refine session
php oil refine session:create
php oil refine session:remove
php oil refine session:clear
php oil refine session:help
php oil refine fromdb
php oil refine fromdb:help
php oil refine fromdb:scaffold
php oil refine fromdb:model
php oil refine hoge <------ お!入っている
php oil refine hoge:sample <------ お!入っている
php oil refine robots
php oil refine robots:protect


modelとかパッケージがなぜか呼べなかったが、
\モデル名
\Email::forge()

ってやればちゃんと呼ぶことができた。


ちなみに、oilコマンドでタスクの生成ができる(これ、ヘルプ oil g help に載ってない気がする)
oil g task test
ってやったら、tasks/配下にtest.phpとrunメソッドのスケルトンが生成されて
oil g task test2 subtest
ってやったら、tasks/配下にtest2.phpとrunメソッドとsubtestのスケルトンが生成される

おしまい。

fuelphp最小構成

2013-04-17 | php
インストール後に、welcomeページ出るんだけど、それを出すために
最低限必要なファイルは何なんだろうか。
コアクラス追っかけてみた。

結果は・・・
./app/bootstrap.php
./app/classes/controller/welcome.php
./app/config/config.php
./app/config/crypt.php
./app/config/routes.php
./app/logs/
./app/views/welcome/index.php
./core/base.php
./core/bootstrap.php
./core/classes/arr.php
./core/classes/asset.php
./core/classes/asset/instance.php
./core/classes/autoloader.php
./core/classes/config/file.php
./core/classes/config/ini.php
./core/classes/config/interface.php
./core/classes/config/json.php
./core/classes/config/php.php
./core/classes/config/yml.php
./core/classes/config.php
./core/classes/controller.php
./core/classes/cookie.php
./core/classes/event.php
./core/classes/event/instance.php
./core/classes/finder.php
./core/classes/fuel.php
./core/classes/inflector.php
./core/classes/input.php
./core/classes/module.php
./core/classes/profiler.php
./core/classes/route.php
./core/classes/request.php
./core/classes/response.php
./core/classes/router.php
./core/classes/security.php
./core/classes/uri.php
./core/classes/view.php
./core/config/asset.php
./core/vendor/phpquickprofiler/console.php
./core/vendor/phpquickprofiler/display.php
./core/vendor/phpquickprofiler/phpquickprofiler.php
./packages/log/

これらのファイルを通って、呼ばれて、welcome画面が表示される


基本的には、index.phpで
$response = Request::forge()->execute()->response();
ってやって、
$response->send();
で表示されるだけ。

なんか、何でこのクラスが必要なんだところもあるが、
もうちょい追っかければ分かると思う