Вы также можете использовать отражение,
я есть базовый класс под названиемfield
и классы, которые расширяют этот класс, такие какtext
, select
, radio
, checkbox
, date
, time
, number
, и т.д.
Классы, которые расширяютсяfield
класс динамически вызывается в каталоге с помощью рекурсивногоinclude_once()
, Я делаю это так, чтобы я (и другие) мог легко добавить новый тип поля, только добавив один файл
Что я хочу знать: есть ли способ обосновать новый объект из одного из этих динамически включаемых расширяющих классов по имени переменной?
например класс с именемcheckbox
:
$field_type = 'checkbox';
$field = new {$field_type}();
Может быть, это будет работать? но это не так?
$field_type = 'checkbox';
$field = new $field_type();