¿Cuáles son las prestaciones, la seguridad, o "otras" consecuencias de utilizar el siguiente formulario para declarar una nueva instancia de la clase en PHPImplicaciones de instanciar objetos con variables dinámicas en PHP
<?php
$class_name = 'SomeClassName';
$object = new $class_name;
?>
Este es un ejemplo artificial, pero he visto esta forma utilizada en Factories (OOP) para evitar tener una declaración if/switch grande.
problemas que vienen inmediatamente a la mente son
Se pierde la capacidad para pasar argumentos a un constructor(mentiras. Gracias Jeremy)- Huele a eval(), con todos los problemas de seguridad que trae a la mesa (pero no necesariamente las preocupaciones de rendimiento?)
¿Qué otras implicaciones existen, o qué términos de motor de búsqueda aparte de "Rank PHP Hackery" alguien puede utilizar para investigar esto?
eval ('$ result ='. $ ClassName. ':: someStaticMethod()'); var_dump ($ resultado); –
call_user_func (array ($ className, 'someStaticMethod')); – bd808