В PHP, проблема с вызовом статической функции класса с помощью -> разыменователя

Я использую PHP 5.2

У меня есть следующий код:

class MyClass {
    public function __construct() {}

    public static function stuff() {
        echo 'This is static! <br />';
    }

}

$myClass = new MyClass();

MyClass::stuff(); // Reference by class.

$myClass->stuff(); // Reference by instance of class.

Вывод работает в обоих случаях вот результат:

Это статично!

Это статично !

Есть ли проблема при использовании 2-го способа ссылки по сравнению с 1-м?

Поскольку мне не разрешено иметь нестатическую функцию с той же сигнатурой, что и статическая выше, это не будет проблемой. Я хочу, чтобы функция была статической, потому что при использовании статических функций также увеличивается скорость.

Я что-то упускаю или это единственная проблема, касающаяся семантики того, как -> Синтаксис разыменования не указывает на то, что это статическая функция?

6
задан Dave Kiss 24 November 2010 в 20:20
поделиться