Я пытаюсь создать систему маршрутизации на основе аннотаций (что-то вроде Recess Framework ).
<?php
class MyController extends ActionController {
/** !Route GET /hello/$firstname/$lastname **/
public function helloAction($firstname, $lastname) {
echo('Hello '.$firstname.' '.$lastname);
}
}
?>
Если я перейду к http://domain.com/hello/James/Bond, я получу
Hello James Bond
Итак, у меня два вопроса:
1) Это хорошая идея? Плюсы и минусы централизованной системы маршрутизации (например, Zend Framework). Возможно, я не вижу проблем, которые могут возникнуть позже с этой техникой маршрутизации.
2) Как проверить наличие дублирующих маршрутов, если в маршрутах есть регулярное выражение
<?php
class MyController extends ActionController {
/**
*!Route GET /test/$id = {
* id: [a-z0-9]
*}
**/
public function testAction($id) {
echo($id);
}
/**
*!Route GET /test/$id = {
* id: [0-9a-z]
*}
**/
public function otherTestAction($id) {
echo($id);
}
}
?>
Я получаю два маршрута: /test/[a-z0-9]/
и /test/[0-9a-z]/
, и если я иду на http://domain.com/test/a12/
, оба маршрута действительны.
Спасибо:)