以下を抽出する単純なルータークラスをセットアップします
- コントローラ
- アクション
- パラメーター
クラスルーター{
private $uri;
private $controller;
private $method;
private $params;
public function __construct($uri) {
$this->uri = $uri;
$this->method = 'index';
$this->params = array();
}
public function map() {
$uri = explode('/', $this->uri);
if (empty($uri[0])) {
$c = new Config('app');
$this->controller = $c->default_controller;
} else {
if (!empty($uri[1]))
$this->method = $uri[1];
// how about the parameters??
}
}
}
その単純な$router->map()
方法で、この uri から適切なコントローラー、アクション、および単一のパラメーターを得ることができます。http://domain.com/users/edit/2
それはまったく問題ありませんが、次のように URL にさらにパラメーターを格納する必要がある場合はどうでしょうか。
http://domain.com/controller/action/param/param2/param3
$parms
渡されるパラメーターの数がわからない場合、それらをプッシュするにはどうすればよいですか。