PHP 将类定义和类方法调用合并到一行中


PHP Combine Class Definition & Class Method Call into one line

我已经在我的代码中使用这样的行很长时间了:

        $preferences = new preferences();
        $preferences->updatePreferences('prefer_CM_or_IN',$joinPrefer_CM_or_IN);

在对象仅用于一种方法的情况下,是否可以将其合并到一行代码中?还是作为一个人离开更好?

只是感兴趣。

谢谢

从版本 5.4 开始,您可以使用:

$v = (new A())->b();

(不要错过构造函数调用周围的括号)

或者在您的情况下:

(new preferences())
  ->updatePreferences('prefer_CM_or_IN',$joinPrefer_CM_or_IN);

在以前的PHP版本中,没有可用于链接构造函数和方法调用的语法功能。

在 PHP 5.3 中,你能做的最好的事情就是:

function preferences()
{
  return new preferences;
}
preferences()->updatePreferences('prefer_CM_or_IN',$joinPrefer_CM_or_IN);

不是我建议这样做...