【问题标题】:PHP dynamic instanciating [duplicate]PHP动态实例化[重复]
【发布时间】:2013-06-03 13:58:01
【问题描述】:

我有一个返回字符串的对象,我想用返回的字符串实例化另一个对象,为什么在 PHP 中我不能以这种方式实例化?

例如:

// getController() returns a string name controller
$c = new $this->router->getController() ;


// I have to do this way:
$controller = $this->router->getController() ;
$c = new $controller() ;

感谢您的帮助。

【问题讨论】:

  • 但是你可以!您从这段代码中具体收到了什么错误?
  • 我一直都像你的例子那样做,似乎是最简单和最可靠的方法。
  • 哦,等等。我想我误解了这个问题。你想直接做,比如 $c = new {$this->router->getController()}; ?
  • 不过,这似乎是最清晰的方法。
  • @Maxim Kumpan:是的:)

标签: php oop


【解决方案1】:

这是一个语法问题。我想我记得看到一个 RFC 允许更动态的类实例化,但是首先分配给一个变量才能完成工作,不是吗?

【讨论】:

猜你喜欢
  • 2014-01-04
  • 1970-01-01
  • 2011-11-27
  • 1970-01-01
  • 2015-12-31
  • 2017-06-09
  • 2015-04-16
  • 2014-01-26
  • 2019-11-08
相关资源
最近更新 更多