Я использую 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 и отобразить весь маршрут только один раз.