Jak działa routing MVC?

Zacząłem więc studiować MVC (prawdziwe MVC, a nie framework MVC) nieco bardziej dogłębnie i próbuję opracować małą strukturę. Pracuję, czytając inne frameworki, takie jak Symphony i Zend, widząc, jak wykonują swoją pracę i próbuję ją wdrożyć.

Miejscem, w którym utknąłem, był system routingu URL:

<?php
namespace Application\Common;

class RouteBuilder {

    public function create($name, $parameters) {
        $route           = new Route($name);
        $route->resource = array_keys($parameters)[0];
        $route->defaults = $parameters["defaults"];
        $notation        = $parameters["notation"];
        $notation = preg_replace("/\[(.*)\]/", "(:?$1)?", $notation);
        foreach ($parameters["conditions"] as $param => $condition) {
            $notation = \str_replace($param, $condition, $notation);
        }

        $notation = preg_replace("/:([a-z]+)/i", "(?P<$1>[^/.,;?\n]+)", $notation);

        //@TODO: Continue pattern replacement!!
    }
}
/* How a single entry looks like
 * "main": {
    "notation": "/:action",
    "defaults": {
        "resource"  :   "Authentication",
    },
    "conditions":   {
        ":action"   :   "(login)|(register)"
    }
},

 */

Po prostu nie mogę prawidłowo owinąć głowy. Jaki jest tutaj przepływ pracy aplikacji?

Wzór jest generowany, prawdopodobnie aRoute obiekt do przechowywania podRequest obiekt czy coś, to co? Jak to działa?

P.S. Szukasz prawdziwej, dobrze wyjaśnionej odpowiedzi tutaj. Naprawdę chcę zrozumieć temat. Byłbym wdzięczny, gdyby ktoś poświęcił czas na napisanie naprawdę wyszukanej odpowiedzi.

questionAnswers(2)

yourAnswerToTheQuestion