Recientemente he aprendido a utilizar esto para hacer lo que yo llamo (no sé si tiene un nombre específico) una llamada ciega a clases.
Lo aprendí cuando me enseñaron a crear un front controller.
Por ejemplo.
Supongamos que queremos hacer un front-controller donde el usuario, al introducir un parámetro en la barra de direcciones instancie directamente a una clase.
Para esto debemos recoger ese parámetro, que es el nombre de una clase.
Y el código podría ser algo así
Código PHP:
Ver original$class=$_GET['class']
$obj=(new FrontController())->instance($class);
En el front-controller habría un código tal que así
Código PHP:
Ver originalclass FrontController{
function __construct(){
}
function instance($class){
include $class'.php';
//retorna la pagina principal
return (new $class())->view();
}
}
De manera que si el usuario introduce index.php?class=home imprimirá el home.
Evidentemente faltan detalles como los namespaces, autocarga de clases con spl_autoload_register, modificar el htaccess para que el usuario no tenga necesidad de indicar index.php y tampoco class= y que la url solo admita parámetros con "/", etc.
Pero en esencia esa es la idea, instanciar ciegamente clases.