使用变量动态定义PHP类


Dynamically define PHP class using a variable

我想创建一个不知道名称的类。在PHP中完成以下场景的最佳方法是什么?

$class_name = 'SomeClassName';
$code = "class {$class_name}_Control extends WP_Customize_Control {}";
eval( $code );

谢谢。

我刚刚测试了这个,它工作得很好。如果你只是暂时需要这个类,你可以在底部加上一个unlink()。不需要exec()

<?php
// your dynamic classname
$fart = "poot";
// define your class, don't forget the "<?php"
$class = <<<YOYOYOHOMIE
<?php
class $fart{
    public '$poop = "poop";
}
YOYOYOHOMIE;
// write the class to a file.
$filename = "dynamicClass".time().".php";
$fh = fopen($filename,"w+");
fwrite($fh, $class);
fclose($fh);
// require the file
require $filename;
// now your dynamically generated class is available
$tird = new $fart;
echo "<pre>";
var_dump($tird);