Поведайте в каких ситуациях применяют рефлексию ?
Понятно, что можно исследовать классы вдоль и поперек, интересна область применения.
На примере простого роутинга:
$rc = new ReflectionClass($this->getController());
if($rc->hasMethod($this->getAction()))
{
$controller = $rc->newInstance();
$method = $rc->getMethod($this->getAction());
$method->invoke($controller);
}
Аналогично:
$controller = new $this->_controller;
$method = $this->_action;
if(method_exists($controller, $this->_action))
$controller->$method();
Вопрос - в чем изюм ?
Пока что, очевидно только то, что первый вариант более оопешный.
Делитесь опытом, где применяете ?