だから私はEngine.phpというライブラリを持っていて、それが基本的に行うことは実行中です
example.com/controller/method/value
たとえば、私が持っている場合
example.com/category/images
「images」と呼ばれるメソッドを実行します。しかし、すべてのカテゴリのコードを追加したくはありません。メソッドを変数にしたい(後でdbで機能させるため)。
エンジンを変更せずにこれを達成するにはどうすればよいですか? 問題は、一部のページにカテゴリがまったくないことです。そして、エンジン自体を書き直したくありません。
どうにかしてコントローラーでこれを行うことはできますか?例えば:
「category」というコントローラーに入ります。メソッドが設定されている場合、コントローラー (「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
}
私の言っていることが分かるよね?