Захотелось мне прописывать экшны и параметры с проверкой в моем контроллере примерно таким образом:
class Controller { /** * Тестовое действие * @a /^[0-9]+$/i * @b /^[0-9a-z]+$/i */ function testAction ( $a, $b = 'something' ) { echo 'a: '.$a.', b: '.$b; } }
Идею прописывать необходимые параметры передаваемые в URL прямо в аргументах функции я подглядел в Symfony2. Там же использовались комментарии PHPdoc для определения маршрутов. Выглядело это как чудо и я решил разобраться магия это или наука.
Disclaimer!
Всё написанное не претендует на технологическую новизну, а является демонстрацией возможностей PHP Reflection API. Преобразователь ЧПУЧитать полностью »