kinjouj.github.io

FuelPHPをやってみる (28) - OrmModel_Temporal -

2013-05-08T00:00:00+00:00 FuelPHP PHP

FuelPHP 1.6 Release(祝)

っていう事で1.6から追加された模様気なOrmModel_Temporalを使ってみる。まずこれなんなのかって、バージョニング出来るモデルみたいな感じなのかなと。で

What"s Temporal model FuelPHP東京勉強会03 from Takayuki Yamaguchi

ぶっちゃけこれ見た方が概要全て解説されているかと思いますんで、是非一読される事をオススメします。っていうか自分もこれ見てやってみただけなので

FuelPHPをやってみる (29) - Orm\Auth -

2013-05-08T00:00:00+00:00 FuelPHP PHP

これも1.6から入った物だと思うのだけど、まぁ名前の通り「SimpleAuthをOrmパッケージでやった物」的なスタンスなのかなと。まぁ「Orm自体だけでもパフォーマンスそんなに良いとは言えないような気がするのに、これ必要なんですか」っていう疑問がまず出たのだけど、まぁやってみましょうか的な感じで

恐らくはormパッケージも使うのでalways_loadにはorm及びauthが必要かと

FuelPHPをやってみる (25) - ログ出力をテストする -

2012-12-07T00:00:00+00:00 FuelPHP PHP

FuelPHPにLogクラスがありますけど、これを使う場合のログ出力をテストケースでテストしたい場合どうするのかって所。とりあえず手法として、

ログが出力される前と後でログをdiffする
ファイルポインタで出力前に末尾にカーソルを移しておいて出力後にログ取得メソッドで更新された分のカーソルを取得する

っていう手法を思いついた。とりあえず前者なパターンをやってみた(どっちがいいかと言われたら後者の方が良いんじゃないかと思う所)

FuelPHPをやってみる (15) - パッケージを作る -

2012-11-19T00:00:00+00:00 FuelPHP PHP

fuel/packagesにディレクトリを作って

├── bootstrap.php
├── classes
└── tests

んな感じで構成を作って(正確にはbootstrap.phpがあれば構造はどんな感じでも良いかもtestsディレクトリを除いては)、fuel/app/config/config.phpでパッケージ利用設定を行えば、定義されたクラス群等を利用する事出来る模様。という事でやってみる

FuelPHPをやってみる (14) - モジュールを使う -

2012-11-18T00:00:00+00:00 FuelPHP PHP

fuel/app/modulesに

└── sample
    └── classes
        └── controller
            └── sample.php

な感じでアプリケーションモジュールとして定義出来る。ディレクトリ構造はfuel/app内とほぼ同様な構造かと。んで、コントローラーの場合は http://localhost/モジュール名/コントローラー名/アクション名 等でアクセス可能な模様(モジュール名は省略可能な模様)

FuelPHPをやってみる (7) - コントローラーテスト時の例外を無視してレスポンスを取る

2012-11-09T00:00:00+00:00 FuelPHP PHP

前にも書いたんですが、コントローラーテスト時にset_methodとかしても結局ルーティングに合わない場合等にはHttpNotFoundExceptionがスローされたりして結局レスポンス取れないっていう事があったのですが、んまぁ大体の言語には「このテストでは例外が出る」っていうのを前提にテストを書く(expectedException)というケースがありきたりだとは思いますが

例外うっせぇ、それでもレスポンスをちゃんとチェックしてえんだよクソが

って思う人もいるでしょう。という事でごちゃごちゃでまだ理解出来た訳じゃないのですが、いろいろ調べてみた。という事で例題的なサンプルのコントローラーが

FuelPHPをやってみる (6) - モデルテストとモック -

2012-11-09T00:00:00+00:00 FuelPHP PHP

例えば以下のようなモデルクラスがあった場合

fuel/app/classes/model/items.php

<?php

class Model_Items extends Model_Crud {

    protected static $_table_name = "items";

    public static function findById($id) {
        $entry = null;

        try {
            $entry = static::find_one_by("id", $id);
        } catch (Database_Exception $e) {
            Log::warning($e->getMessage());
        }

        return $entry;
    }
}

まぁ単純にID値から取得するだけのメソッドを定義する。で問題は実際にfind_one_byが失敗した場合(例外により)、結果がちゃんと「NULLである」という保証をテストする必要があると思いますけど。でどうやってそれを再現させるかってところなんですが、まぁよくあるパターンとしてモックでfind_one_byを実行させると例外が出るように設定する。まぁそんな感じの事したいっていう事でやってみた

FuelPHPをやってみる (3) - Model_Crudを使う -

2012-11-06T00:00:00+00:00 FuelPHP PHP

Modelなパッケージにクラス作ってメソッド実装してそこからDBパッケージで取得するみたいな方式でやったけど、Model_Crudを継承して使う事で有用なメソッドが色々存在するのでSQL書いたりQuery Builder使わずにさっくりとデータベースを使える模様。ちなみにFuelPHP的にはORMっていうのはパッケージとして存在するので、これをORMというのは異なると思うので

fpmでFuelPHP

2012-11-03T00:00:00+00:00 FuelPHP nginx PHP

FuelPHPをやってみようかなーって思ったらApache入ってねーしどうっすかなーって考えてたので、とりあえずphp-fpmで動かしちゃうかっていう事でやってみた

(FuelPHP及びFPM関係の設定は省略)