是否有可能通过PHP中的函数或方法返回的字符串创建新对象?像一些我不知道的逃避方法?
非工作示例:
var y1=[];
for(var i=0;i<x.length;i++){
y1[i]= [{ c:[ {"v":x[i].value}, {"v":x[i].date_transacted} ] }];
}
答案 0 :(得分:3)
您可以使用ReflectionClass
function makeRef($className) {
return new ReflectionClass($className);
}
$obj = makeRef($class->method())->newInstance();
在PHP 5.4+中,您可以将其转换为单行:
$obj = (new ReflectionClass($class->method()))->newInstance();
答案 1 :(得分:0)
您想要动态类创建吗? 这是一个阅读: http://docstore.mik.ua/orelly/webprog/pcook/ch07_13.htm
虽然可以调用动态函数,但是为类执行它似乎是一种特技。
答案 2 :(得分:-1)
是的,这是可能的。将字符串分配给变量,然后使用该变量创建对象。
<强>实施例强>
<?php
class stringliteral{
function __construct()
{
echo"called";
}
}
function dumyFunc()
{
return 'stringliteral';
}
$str=dumyFunc();
if(class_exists($str))
$obj=new $str();
?>