これには 2 つの方法があり、オーバーヘッドが少なく効率的なスタイルを探しています。誰がどれが一番いいのか知っていますか? このプロジェクトには多くのリンクがあり、大きな配列を取得する可能性があります。
1
foreach($this->routes as $pattern => $action) {
if($pattern === $uri) {
return $action;
}
if(preg_match('#^' . $pattern . '$#', $uri, $matched)) {
return $action;
}
}
2
if(array_key_exists($uri, $routes)) {
return $routes[$uri];
}
foreach($this->routes as $pattern => $action) {
if(preg_match('#^' . $pattern . '$#', $uri, $matched)) {
return $action;
}
}