Claro que se puede tener un único controlador, el concepto se llama: frontController.
La idea, desde luego, es que dicho controlador sea capaz de recibir un argumento y dado el valor cargue otro controlador, etc.
Código PHP:
Ver originalfunction sub($name) {
$ctrl_file = "/path/to/controllers/$name.php";
return $ctrl_file;
}
}
$controller = $_GET['ctrl'];
if ($file = sub($controller)) {
require $file;
}
Para el action del formulario:
¿Se entiende?