0
:
foo::bar();
と、この:
$obj = new foo();
$obj::bar();
かの違い
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()
です。
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