May 27
逆引きrhaco30: かっこいいURL(?)を使う(その4:別クラス内のメソッドを呼ぶ)
この方法は
別ファイルに表示用のクラスを作りたい。
Viewsを拡張して特殊な処理をしたい。
などの場合に使える方法です。私はこの方法を一番使います。例として「Productテーブルのnameフィールドが"hoge"を含むデータを表示」してみます。
index.php
<?php
require_once("./__init__.php");
Rhaco::import("generic.Urls");
$pattern = array("^hoge\/fuga\/?$"=>array("class"=>"hoge","method"=>"fuga"));
$parser = Urls::parser($pattern);
$parser->write();
?>
library/Hoge.php
<?php
Rhaco::import("generic.Views");
Rhaco::import("model.Product");
class Hoge extends Views {
function fuga(){
return $this->read(new Product(), new C(Q::like(Product::name(),"hoge","p")));
}
}
?>
これだけです。デフォルトのテンプレート(setup画面のテンプレート)で良ければテンプレートを作成、指定する必要もありません。Viewsは便利なので色々使ってみると良いと思います。逆引きでも紹介していきます。
※function抜けてましたorz。修正
このエントリーのはてなブックマーク (