3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Animal { protected $what = "nothing"; protected $born; // Add this: public function__construct(){} // only when class does not explicity specify a constructor // ? would the constructor be visible to users or like JAVA invisible // // Below code has a constructor so default constructor doesn't get created // public function __construct() { // $this->setBirthDate(); // } function sound() { echo get_class($this)." says {$this->what}"; } function showBirthDate() { return $this->born; } function setBirthdate() { $this->born = time(); } } class Cow extends Animal { protected $what = "moo"; protected $owner; public function __construct($owner) { $this->owner = $owner; // by default this would always be called so no need to write it parent::__construct(); } } $a = new Cow("Old McDonald"); $a->sound(); //echo "\nCow born: ",date("M j, Y",$a->showBirthDate());

preferences:
39.64 ms | 402 KiB | 5 Q