おぼえがき
おぼえがき
fuelphpでバッチ処理(oil refineを利用する)
oil refineをちゃんと見る
バッチ処理を動かすときは、oil refineを利用するんだが、
ちょいとハマったところもあるので、まとめておく
バッチ処理は、全て、fuel/app/tasks/ここのディレクトリ
配下に配下に置くようになっている。
これを実行するには、oil refine hoge
runメソッドが実行される
これを実行するには、oil refine hoge:sample
runメソッドではなく、オリジナルのメソッドが実行される
これを実行するには、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のスケルトンが生成される
おしまい。

バッチ処理を動かすときは、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のスケルトンが生成される
おしまい。
コメント ( 0 )
fuelphp最小構成

最低限必要なファイルは何なんだろうか。
コアクラス追っかけてみた。
結果は・・・
./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();
で表示されるだけ。
なんか、何でこのクラスが必要なんだところもあるが、
もうちょい追っかければ分かると思う
コメント ( 0 )
fuelphpとビルトインウェブサーバー

FuelPHPをビルドインウェブサーバー(PHP5.4以上)で動かそうとしたら、
この辺をみて、mod_rewrite的なものを実装する必要があったけど、
fuelphp1.6-develop眺めてると、
fuelphpをビルドインウェブサーバーで動かすことができそうな予感。
やってみる。
1.6-developのoilパッケージをダウンロードしてくる
今、自分の環境はFuelPHPの1.5を使っている。
XXX/fuel/packages/oil
このoilディレクトリの1.6のoilに入れ替える。
(オリジナルをmvして、githubのやつをDLしてoilに置き換えただけ)
じゃぁー実際動かしてみる
$ls
CHANGELOG.md CONTRIBUTING.md README.md TESTING.md build.xml
docs fuel/ oil public/
$oil help
Usage:
php oil [cell|console|generate|package|refine|help|server|test]
お!serverオプションがある
じゃぁ、起動してみる
$oil server
1
Listening on http://localhost:8000
Document root is public/
Press Ctrl-C to quit.
これで、ビルドインウェブサーバーが立ち上がった。
実際アクセスしてみる
wget http://localhost:8000/hello/hoge
うごいたうごいた。
oil/server.phpみると、まぁ、ただのラッパーだな
コメント ( 0 )