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