Если метод существует у объекта, то работаем, если нет - 404.
А в случае с аргументами как сделать? Если я ввожу несуществующий аргумент, то каша получается
Мне кажется, или рефлексия (если хочется совсем красиво), или складывать в какое-то одно место эти параметры, все контроллеры наследовать от единого, который эти параметры сможет забирать. То есть аналогично тому, как обычно работают с get/post данными.
Niomin
Вы терминологию путаете((.
/show/{id} - это роут
{id} - это атрибут запроса
Контроллер - это класс для экшнов
Экшн - это метод (или класс с фиксированным методом run например), который мапится роутером на роут.
index0h: Да. Действительно, называть роут контроллером некорректно, прошу прощения :)
Я это и имел в виду, что передавать нужно и request, и attributes (или хранить их в объекте, не суть).