Учитывая следующий код:
<?php class MyClass { public function print() { echo $this->number . "\n"; } public static function staticPrint() { echo "staticPrint\n"; } } class MyExtendedClass extends MyClass { protected $number = 100; public function extendedPrint() { $this->print(); $this::print(); // What's the difference? $this->staticPrint(); // Why is this allowed? $this::staticPrint(); echo "Print done...!\n"; } } $myExtendedClass = new MyExtendedClass(); $myExtendedClass->extendedPrint();
со следующим выходом:
100 100 Print done...!
Есть ли разница между $this->print()
и $this::print()
?