Что такое производительность, безопасность или "другие" последствия использования следующей формы для объявления нового экземпляра класса в PHP
<?php
$class_name = 'SomeClassName';
$object = new $class_name;
?>
Это надуманный пример, но я видел эту форму, используемую на фабриках (ООП), чтобы избежать большого оператора if/switch.
Проблемы, которые возникают сразу, - это
-
Вы теряете возможность передавать аргументы в конструктор(LIES. Спасибо Джереми) - Пахнет как eval(), со всеми проблемами безопасности, которые он вызывает в таблице (но не обязательно для производительности)?
Какие еще существуют последствия, или какие термины поисковой системы, отличные от "Rank PHP Hackery", могут кто-то использовать для исследования этого?