从函数返回值创建新的类实例 - 一行

时间:2013-03-29 18:33:08

标签: php class

是否存在基于返回的函数字符串创建类的新实例的单行(是的,我喜欢它们)?

$obj = new {functionThatReturnsAStringValue()}();

2 个答案:

答案 0 :(得分:6)

我明白你想要什么,但我认为你可以这样做:

$obj = ($class = functionThatReturnsAStringValue()) ? new $class() : null;

答案 1 :(得分:2)

function getObject()
{
  return 'DateTime';
}

$datetime = call_user_func(function ($obj) { return new $obj; }, getObject());