对这个:
class foo {
public static function bar() {
echo 'hi';
}
}
两者之间有什么区别:
foo::bar();
和这个:
$obj = new foo();
$obj::bar();
还是没有区别?既是正确的又是原则?哪个更好?
我相信它们之间没有区别,但是根据我的经验,最常用的形式是Foo::bar()
。
您可以在此处找到一些示例。
有一个静态方法示例及其用法:
<?php
class Foo {
public static function aStaticMethod() {
// ...
}
}
Foo::aStaticMethod();
$classname = 'Foo';
$classname::aStaticMethod(); // As of PHP 5.3.0
?>
之后,您可以找到具有访问属性的示例:
print Foo::$my_static . "\n";
$foo = new Foo();
print $foo::$my_static . "\n";
这意味着这两种方法都是正确的。使用什么取决于您。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句