所以我有庫調用Engine.php而且它基本上運行什麼PHP - 如果控制器的名稱爲「類」,那麼方法是該控制器的值
example.com/controller/method/value
因此,舉例來說,如果我有
example.com/category/images
運行所謂的「圖像」的方法。但我不想爲每個類別添加代碼。我想要的方法是一個變量(以便我會使它與db後工作)。
如何在不改變發動機的情況下實現這一目標?問題是 - 有些網頁根本沒有類別。我不想重寫引擎本身。
我可以以某種方式在控制器中執行此操作嗎?例如:
我輸入名爲「category」的控制器,如果設置了method,它將在控制器(''category'')內搜索此方法。
這是我的Engine.php的部分看起來像:
if (isset($url_output[1])) {
if (isset($url_output[2])) {
if (method_exists($controller,$url_output[1])) {
$controller->{$url_output[1]}($url_output[2]);
} else {
$this->error();
}
} else {
if (method_exists($controller,$url_output[1])) {
$controller->{$url_output[1]}();
} else {
$this->error();
}
}
}
因此,基本上,你可以看到:
$controller->{$url_output[1]}();
$ url_output [1] =在方法的名稱名爲$ url_output [0]的控制器。
我想要的是:
public function $category() {
echo $category
}
你知道我是什麼意思?
因爲網址太長(我想在後面添加頁碼等)。 – 2012-08-08 19:50:55
您可以對函數索引進行硬編碼。 – 2012-08-08 19:56:50
嗯,好的,這是一個好主意,謝謝 – 2012-08-08 20:02:34