PHP 中使用字串動態類別實例化
在 PHP 中,可以使用表示類別的字串建立類別的姓名實例。這消除了在處理多個類別時使用冗長的 switch 語句的需要。
考慮以下範例:
class ClassOne {} class ClassTwo {} $str = 'One';
而不是使用switch 語句:
switch ($str) { case "One": $object = new ClassOne(); break; case "Two": $object = new ClassTwo(); break; }
您可以使用字串動態建立實例,如下所示:
$class = 'Class' . $str; $object = new $class();
此語法建構完整的類別名稱(例如“ClassOne”)並實例化它。如果您的類別位於命名空間中,請使用完全限定名稱:
$class = '\Foo\Bar\MyClass'; $instance = new $class();
PHP 也將此功能擴展到變數函數和方法:
$func = 'my_function'; $func(...$parameters); // Calls my_function() with parameters $method = 'doStuff'; $object = new MyClass(); $object->$method(); // Calls Myclass->doStuff() (new MyClass())->$method(); // Calls Myclass->doStuff() in one line
雖然您可以使用字元串創建變量,這被認為是不好的做法,應該避免使用數組。
以上是如何使用字串動態實例化 PHP 類別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!