Я использую 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-м?
Поскольку мне не разрешено иметь нестатическую функцию с той же сигнатурой, что и статическая выше, это не будет проблемой. Я хочу, чтобы функция была статической, потому что при использовании статических функций также увеличивается скорость.
Я что-то упускаю или это единственная проблема, касающаяся семантики того, как -> Синтаксис разыменования не указывает на то, что это статическая функция?