首页 > 解决方案 > 避免重新创建 AltoRouter 实例和映射路线的更好方法

问题描述

我正在使用 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 实例并只映射一次所有路由。

标签: phpsingletonaltorouter

解决方案


推荐阅读