Лучший подход, чтобы избежать воссоздания экземпляра AltoRouter и карты маршрутов - PullRequest
0 голосов
/ 06 июня 2018

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

...