Лучший подход, чтобы избежать воссоздания экземпляра 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 и отобразить весь маршрут только один раз.