Пишу свой велосипед для опыта, роутинг сделал как в CI:
CodeIgniter использует подход, основанный на сегментах адреса:
www.your-site.com/news/article/my_article
Сегменты в URL, соответствуют архитектуре Модель-Отображение-Контроллер и, как правило, строятся таким образом:
www.your-site.com/class/function/arg
В первом сегменте описывается контроллер class к которому происходит обращение.
Во втором сегменте происходит ссылка на функцию function или метод, который необходимо вызвать.
В третьем и последующих сегментах описываются переменные, которые будут переданы в эту функцию.
В CI метод может выглядеть к примеру вот так:
function hello ($name, $id) {
echo "\$name = $name";
echo "
";
echo "$id";
}
Теперь вопрос, в случаи, если в url не был передан один из аргументов для метода, естественно возникает ошибка.
Как можно проверить сколько аргументов требуется для вызова метода? Проверить нужно до вызова, поэтому func_num_args не получится использовать.
Или возможно другой выход из ситуации подскажите? Заранее премного благодарен.