I have a base class called field
and classes that extend this class such as text
, select
, radio
, checkbox
, date
, time
, number
, etc.
Classes that extend field
class are dynamically called in a directory recursively using include_once()
. I do this so that I ( and others) can easily add a new field type only by adding a single file
What I want to know: Is there a way to substantiate a new object from one of these dynamically included extending classes from a variable name?
e.g. a class with the name checkbox
:
$field_type = 'checkbox'; $field = new {$field_type}();
Maybe this would work? but it does not?
$field_type = 'checkbox'; $field = new $$field_type();
This should work to instantiate a class with a string variable value:
$type = 'Checkbox'; $field = new $type(); echo get_class($field); // Output: Checkbox
So your code should work I'd imagine. What is your question again?
If you want to make a class that includes all extended classes then that is not possible. That's not how classes work in PHP.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With