3v4l.org

run code in 300+ PHP versions simultaneously
<?php class ParentClass{ const KONSTANTA = 'ParentClass'; public function __construct(){ echo self::KONSTANTA.'<br/>';//Memanggil konstanta dari internal class } public function printKonstanta(){ echo 'Class : '.self::KONSTANTA.'<br/>';//Memanggil konstanta dari internal class } } class ChildClass extends ParentClass{ private $privateProperty; const KONSTANTA = 'ChildClass';//Overriding property public function __construct(){ parent::__construct();//Memanggil konstruktor ParentClass echo ChildClass::KONSTANTA.'<br/>';//Bisa juga dipanggil dengan cara seperti ini } public function printPrivate(){ echo 'Property : '.$this->privateProperty.'<br/>';//$this digunakan untuk memanggil properti atau method internal } } class Child2Class extends ParentClass{ public static $STATIC; public function __construct(){ echo self::KONSTANTA.'<br/>';//ParentClass mewariskan KONSTANTA } public static function printLangsung(){ echo 'Bisa diprint langsung tanpa instansiasi<br/>'; } } $a = new ParentClass(); $a::printKonstanta();//Print Konstanta menggunakan Scope Resolution pada Object $b = new ChildClass(); $b->printPrivate(); Child2Class::$STATIC = 'Isi variable static'; Child2Class::printLangsung(); echo Child2Class::$STATIC;
Output for git.master, git.master_jit, rfc.property-hooks
ParentClass<br/> Fatal error: Uncaught Error: Non-static method ParentClass::printKonstanta() cannot be called statically in /in/MGKZl:39 Stack trace: #0 {main} thrown in /in/MGKZl on line 39
Process exited with code 255.

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
42.24 ms | 401 KiB | 8 Q