0

私は AltoRouter を使用しており、かなりうまく機能しています。しかし、リクエストごとに AltoRouter の新しいインスタンスが作成され、マッピングが行われます (私は彼らの github ページの例に従いました)。このオーバーヘッドを回避するにはどうすればよいですか? シングルトンのアンチパターンで考えていました。大丈夫だと思いますか?PHPの経験はありません。

これはコードです:

<?php

//begin of singleton
require 'AltoRouter.php';

$router = new AltoRouter();

$router->map('GET', '/', function () {        
    require '../app/home/controllers/homecontroller.php';
});
//end of singleton

$match = $router->match();

if ($match && is_callable($match['target'])) {
    call_user_func_array($match['target'], $match['params']);
} else {
    // no route was matched
    header($_SERVER["SERVER_PROTOCOL"] . ' 404 Not Found');
}

?>

私の考えは、AltoRouter インスタンスを「シングルトン化」し、すべてのルートを一度だけマッピングすることです。

4

0 に答える 0