claro.. como dice gatorV... yo hago algo parecido
te dejo un ejemplo por si te ayuda a orientarte un poco
saludos.
Código PHP:
private function _makeResponse()
{
$className = ucfirst($this->_request[0]);
$className = $className . 'Controller';
$classLocation = APPLICATION_PATH . '/controllers/' . $className . '.php';
if (is_file($classLocation)) {
require_once $classLocation;
$class = new $className;
if (!empty($this->_request[1])) {
$methodName = $this->_request[1] . 'Action';
} else {
$methodName = $this->_request[0] . 'Action';
}
if (method_exists($class, $methodName)) {
$class->init();
$class->$methodName();
$this->_response = $class->getTemplateRender($className, $methodName);
} else {
throw new Khaus_Exception("Metodo $methodName no existe");
}
} else {
throw new Khaus_Exception("Class $className no existente");
}
}