В PHP вы можете столкнуться со сценарием, когда вам нужно создать экземпляр класса из значения переменной. Проиллюстрируем это на примере:
$var = 'bar'; $bar = new {$var}Class('var for __construct()'); //$bar = new barClass('var for __construct()');
Этот метод пытается создать экземпляр класса, указанного переменной $var. Однако PHP изначально не поддерживает этот синтаксис.
Чтобы добиться этого без использования eval(), вы можете использовать переменную для хранения имени класса:
$classname = $var . 'Class'; // e.g. $classname = 'barClass' $bar = new $classname('var for __construct()');
Этот метод часто используется в шаблоне Factory, который используется для централизации создания классов и его разделения. от процесса создания. В таких сценариях фабричный класс будет создавать нужные экземпляры класса динамически на основе конфигурации или других параметров.
Для получения дополнительной информации о динамических функциях языка и пространствах имен обратитесь к следующим материалам. ресурсы:
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3