Как работает MVC маршрутизация?
Так что я'Я начал изучать MVC (реальный MVC, а не фреймворк MVC) немного более подробно, и яЯ пытаюсь разработать небольшой каркас. Я'Я работаю, читая другие фреймворки, такие как Symphony и Zend, вижу, как они выполняют свою работу, и пытаюсь реализовать это самостоятельно.
Место, где я застрял, была система маршрутизации URL:
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[^/.,;?\n]+)", $notation);
//@TODO: Continue pattern replacement!!
}
}
/* How a single entry looks like
* "main": {
"notation": "/:action",
"defaults": {
"resource" : "Authentication",
},
"conditions": {
":action" : "(login)|(register)"
}
},
*/
Я просто могуЯ правильно обернул вокруг него голову. Каков рабочий процесс приложения отсюда?
Шаблон генерируется, вероятно,Route
объект, который будет храниться подRequest
объект или что-то, то что? Как это работает?
Постскриптум Ищите реальный, хорошо объясненный ответ здесь. Я действительно хочу понять предмет. Я был бы признателен, если бы кто-то нашел время, чтобы написать действительно сложный ответ.