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。修正

| comment(0)

このエントリーのはてなブックマーク (-)