Názor ke článku Mezinárodní web s distribucí obsahu snadno a rychle od RS - Přiznám se že mě dost děsí design těch...

  • 20. 5. 2023 15:26

    RS

    Přiznám se že mě dost děsí design těch metod třeba ten resolver

    1) metoda resolve mění vnitřní stav objektu místo aby vracela jaký immutable result
    2) tím že se k resolveru přistupujeme jako ke globální proměně není problém mít kód ve stylu


    $router = MVC::getRouter();
    $router->resolve( $URL );
    $base = $router->getBase();
    someMethodCall();
    $base2 = $router->getBase();

    No a v metodě someMethodCall mi může kdokoli změnit stav $routeru já se to nedozvíme bude to pro mě wtf, protože v autorově podání je dependency injection jen sada globálních proměnných. Takže se ve výsledku dostanu do stavu že

    $base != $base2;

    Přitom by stacilo si uvědomit že úkolem routeru je routovat, ne zodpovídat "jaké je aktuální locale".