Учтите это:
class testClass {
var $test = 'test';
function method() {
echo $this->test;
}
}
$test = new testClass();
$test->method();
testClass::method();
Вывод будет примерно таким:
тест
Неустранимая ошибка: использование $ this, когда не в контексте объекта в ... в строке 7
Это связано с тем, что ::
выполняет статический вызов класса, тогда как ->
используется для вызова методов или свойств определенного экземпляра класса.
Кстати, я не верю, что вы можете сделать $test::method()
, потому что PHP выдаст вам ошибку разбора, подобную этой:
Ошибка разбора: синтаксическая ошибка, неожиданный T_PAAMAYIM_NEKUDOTAYIM в ... в строке 14