在 PHP 中,可以使用 eval()
函數來動態創建類。eval()
函數會把傳入的字符串當作 PHP 代碼執行。通過這種方法,可以在運行時動態地定義并創建新的類。
下面是一個簡單的示例:
<?php
// 動態創建一個名為 'MyDynamicClass' 的類
$class_definition = '
class MyDynamicClass {
public $attribute = "I am a dynamic class!";
public function printAttribute() {
echo $this->attribute;
}
}';
eval($class_definition);
// 實例化剛剛動態創建的類
$my_dynamic_instance = new MyDynamicClass();
// 調用動態類的方法
$my_dynamic_instance->printAttribute(); // 輸出: I am a dynamic class!
?>
請注意,雖然 eval()
函數允許動態創建類,但它也有安全風險。因此,除非確實需要動態創建類,否則不建議使用此方法。如果可能的話,最好預先定義所有需要的類。