4

関数の返された文字列に基づいてクラスの新しいインスタンスを作成するワンライナー (はい、大好きです) はありますか?

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

2 に答える 2

6

私はあなたが何を望んでいるのか理解していますが、私はあなたがそのようにすることができると思います:

$obj = ($class = functionThatReturnsAStringValue()) ? new $class() : null;
于 2013-03-29T18:53:09.353 に答える
2
function getObject()
{
  return 'DateTime';
}

$datetime = call_user_func(function ($obj) { return new $obj; }, getObject());
于 2013-03-29T18:56:19.140 に答える