Я использую eval()
в моем текущем проекте, как это:Что такое функция eval?
if (class_exists($class_name)) //$class_name depends on user input
eval($class_name.'::MyStaticMethod()');
eval()
выполняется тогда и только тогда, когда класс с именем $class_name
существует, так что это своего рода сейф, но я до сих пор не думаю, что это самое лучшее решение ,
Могу ли я сделать то же самое, что код выше делает без eval()
?
Вся эта информация (динамический доступ к переменной/функциям и экземплярам/статическим членам) является довольно распространенным знанием и частью документов PHP. Агрегация всего этого здесь в качестве ответа не особенно полезна, не меняя самого вопроса из «какой альтернативы eval» на «какой динамический доступ предлагает PHP». –