Kenichi Ando(Neo,Inc)
ando****@neo-n*****
2007年 12月 6日 (木) 12:34:00 JST
bossatamaです。 非常にわかりやすかったです。 具体的な例って素晴らしいですね。 ありがとうございました。 「_remap」は深いですね。 On Thu, 06 Dec 2007 10:51:36 +0900 cilab <webma****@cilab*****> wrote: > CILabです > > Kenjiさんが言っているのは、「$this->メンバー変数」のことでなく、 > > たとえば、再マップしようとする時、 > 1) 特定の場合だけ従来通りのルールでメソッドを呼び出したい場合 > 2) 特定の場合以外は従来通りのルールでメソッドを呼び出したい場合 > の2パターンがあって、 > マニュアルのコードは、色々な使い方が想定されるかもしれませんが、 > たとえば、 1)のパターンの場合の例では? > > ということですよね? > > たとえばショッピングカートなどの商品の表示に関するクラスがあったとして: > > class Product extends Controller > { > function Product(){ > parent::Controller(); > } > > function _remap($method) > { > if ($method == 'listup_all') > { > $this->$method(); > //$this->listup_all(); としてもOK > } > else > { > $this->detail($method); > //$methodにはproductIdが入るのを想定 > } > } > > function detail($productId){ > echo 'productID='.$productId.'の商品詳細のページを表示'; > } > > function listup_all(){ > echo 'すべての商品をリストアップする'; > } > } > > > /* > > このコンテキストでは > > URL:index.php/product/[商品ID] > のときは、 detail([商品ID]); で商品ページを表示 > (URLでメソッド名「detail」を省略した形式を使えるようにする) > > ただし、URL:index.php/product/listup_all > の時だけは、普通に listup_all(); を呼び出して商品一覧を表示する > > */ > > 私も、typoでなくて、これはこれで良いように思えます。 > > > > > CI本家のフォーラムに投げてみるのがいいんじゃないでしょうか? > > > > 本家に投げるのはちょっとやめておきます。 我々がユーザーガイドの意図を説明できれば問題ないと思いますので。 (というか私だけが脳内エラー起こしてだけ?) //bossatama