速记新实例->;PHP中的方法语法?
可能重复:速记新实例->;PHP中的方法语法?,php,oop,shorthand,Php,Oop,Shorthand,可能重复: 我可以通过以下方式创建实例并调用其方法: $newObj = new ClassName(); $newObj -> someMethod(); 但是有没有什么方法可以用一个更短的符号,一个匿名的实例?我试过这个: (new ClassName())->someMethod(); 但它似乎并不像预期的那样起作用 附加信息:我要调用的方法是公共的,但不是静态的。我不知道 但是您可以实现单例模式,然后调用: ClassName::getInstance()->so
我可以通过以下方式创建实例并调用其方法:
$newObj = new ClassName();
$newObj -> someMethod();
但是有没有什么方法可以用一个更短的符号,一个匿名的实例?我试过这个:
(new ClassName())->someMethod();
但它似乎并不像预期的那样起作用
附加信息:我要调用的方法是公共的,但不是静态的。我不知道
但是您可以实现单例模式,然后调用:
ClassName::getInstance()->someMethod();
或者,简而言之;)
如果someMethod没有引用$this,您也可以简单地将其作为静态函数调用,尽管它没有定义为静态函数:
ClassName::someMethod();
据我所知没有
但是您可以实现单例模式,然后调用:
ClassName::getInstance()->someMethod();
或者,简而言之;)
如果someMethod没有引用$this,您也可以简单地将其作为静态函数调用,尽管它没有定义为静态函数:
ClassName::someMethod();
PHP5.4支持它
如果无法更新,您可以这样解决:
function yourclass($param) {
return new yourclass($param);
}
yourclass()->method();
不要忘记构造函数必须返回$this代码>PHP5.4支持它
如果无法更新,您可以这样解决:
function yourclass($param) {
return new yourclass($param);
}
yourclass()->method();
不要忘记构造函数必须返回$this代码>如果该方法是静态的,并且不依赖于任何类变量(可能您只是出于组织目的将其放在类中),您可以简单地静态调用它,正如phil使用getInstance演示的那样:
ClassName::someMethod()
如果该方法是静态的,并且不依赖于任何类变量(可能您只是出于组织目的将其放入类中),那么您可以简单地静态调用它,正如phil使用getInstance演示的那样:
ClassName::someMethod()
据我所知,你只能有一个单身汉。恐怕这是一个常规对象,有些是匿名的,但有些将存储在容器、数组甚至其他对象中。除非我可以让getInstance返回对象的新实例。。我来试试。它工作得很好!我的构造函数有可选的参数,所以当它创建一个新实例并返回它时,我必须在getInstance()类中包含这些参数,但它确实有效。谢谢我的链条现在看起来干净多了。我会尽快接受的。据我所知,你只能有一个单身汉。恐怕这是一个常规对象,有些是匿名的,但有些将存储在容器、数组甚至其他对象中。除非我可以让getInstance返回对象的新实例。。我来试试。它工作得很好!我的构造函数有可选的参数,所以当它创建一个新实例并返回它时,我必须在getInstance()类中包含这些参数,但它确实有效。谢谢我的链条现在看起来干净多了。一旦它允许,我将立即接受。检查此项:检查此项: