ecmall アクションのジャンプ問題
次のようなジャンプがあるとします。index.php?app=goods&act=drop
index.php → ECMall の起動メソッド → このとき、GoodsApp クラスには do_action メソッドが存在しないので、親クラスに移動して検索します。 ECBaseApp を見つけた後、最初の do_action メソッドが表示されるまで -> それで、もう一度 BaseApp にアクセスして探しました。しかし $this->_run_action(); も失敗しました:
関数_run_action()
{
$action = $this->_curr_action;
$this->$action();
}
ここで $action を出力していますが、これは確かに Drop ですが、このクラスには Drop() がなく、このときプログラムはどこにジャンプするのでしょうか (サブクラス)。この時にジャンプしましたか?なんて不思議なことでしょう! PHP/ECMALL の専門家からアドバイスをお願いします。私は php に出会ったばかりで非常に混乱しています。ご協力ありがとうございます。
-----最善の解決策です。 ---------- ------
<br /> /* 店铺分类 */<br /> function store()<br /> {<br /> /* 取得导航 */<br /> $this->assign('navs', $this->_get_navs());<br /> /* 取得商品分类 */<br /> $scategorys = $this->_list_scategory();<br /> /* 取得最新店铺 */<br /> $new_stores = $this->_new_stores(5);<br /> /* 取得推荐店铺 */<br /> $recommended_stores = $this->_recommended_stores(5);<br /> /* 当前位置 */<br /> $_curlocal=array(<br /> array(<br /> 'text' => Lang::get('index'),<br /> 'url' => 'index.php',<br /> ),<br /> array(<br /> 'text' => Lang::get('scategory'),<br /> 'url' => '',<br /> ),<br /> );<br /> $this->assign('_curlocal',$_curlocal);<br /> $this->assign('new_stores', $new_stores);<br /> $this->assign('recommended_stores', $recommended_stores);<br /> $this->assign('scategorys', $scategorys);<br /> <br /> $this->assign('page_title', Lang::get('store_category') . ' - '. Conf::get('site_title'));<br /> $this->display('category.store.html');<br />