PHP结合类定义&类方法调用一行

时间:2013-10-29 03:21:45

标签: php class object

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

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

在一个对象仅用于一个方法的情况下,是否可以将它组合成一行代码?或者最好离开一个人?

感兴趣。

三江源

2 个答案:

答案 0 :(得分:1)

version 5.4您可以使用:

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

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

或者在你的情况下:

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

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

答案 1 :(得分:1)

在PHP 5.3中,您可以做的最好的是:

function preferences()
{
  return new preferences;
}

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

不是我建议这样做......