在PHP运行时是否有任何官方/推荐的方法来声明/定义/注册新类?
我基本上想做的是基于存储在数据库中的定义生成类,包括属性和方法。
我发现了一些文章/线程,但它们实际上都是旧的,所以我想知道是否存在一些优雅/有效的方法。我惊讶的是,没有我想象的那么多关于这方面的信息。
这么糟糕吗?据我所知,PHP总是将类定义保存在内存中,所以我认为在运行时声明类没有任何问题,因为它基本上是相同的结果,但也许我错了。
我认为现在不相关,但我正在与Laravel合作这个项目。
谢谢!
是。
<?php
$foobar = "foobar";
eval("class $foobar {" .
"function __construct('$i) {" .
"echo '"Dark magic ritual complete. '$i virgins sacrificed to satan.'"; " .
"}" .
" }");
$evil = new $foobar(5);
echo "<br /><br />";
var_dump($evil);
产品:
黑暗魔法仪式完成。5个处女向撒旦献祭。
对象(foobar)#1(0){}
我不打算向您讲授语义,但这是一个非常糟糕的想法,您应该重新考虑使用类来促进数据库记录所需的内容。类本身并不特殊,但使用类来处理数据库条目是完全可以接受的。