3v4l.org

run code in 300+ PHP versions simultaneously
<?php class A { public function thisCall() { return $this->call(); } public function selfCall() { return self::call(); } public function staticCall() { return static::call(); } public function call() { return 'A'; } } class AB extends A { public function call() { return 'AB'; } } class B extends AB { public function call() { return 'B'; } public function parentCall() { return parent::call(); } } $b = new B; var_dump([ 'this' => $b->thisCall(), 'self' => $b->selfCall(), 'static' => $b->staticCall(), 'b::parent' => $b->parentCall(), ]);

preferences:
27.47 ms | 404 KiB | 5 Q