0
关于本:
class foo {
public static function bar() {
echo 'hi';
}
}
这是什么区别:和
foo::bar();
这样的:
$obj = new foo();
$obj::bar();
还是没有区别?既是正确的,也是原则?哪个更好?
关于本:
class foo {
public static function bar() {
echo 'hi';
}
}
这是什么区别:和
foo::bar();
这样的:
$obj = new foo();
$obj::bar();
还是没有区别?既是正确的,也是原则?哪个更好?
我相信他们之间没有任何区别,但从我的经验来看,最常用的形式是Foo::bar()
。
你可以找到一些例子here。
没有与使用静态方法例如:
<?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";
这意味着,两种方式都是正确的。这取决于你使用什么。
很确定他们是一样的东西 – bassxzero