php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay
files >> /proc/self/root/php-7.1.11/tests/classes/ |
files >> //proc/self/root/php-7.1.11/tests/classes/ctor_dtor_inheritance.phpt |
--TEST-- ZE2 A derived class can use the inherited constructor/destructor --SKIPIF-- <?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?> --FILE-- <?php // This test checks for: // - inherited constructors/destructors are not called automatically // - base classes know about derived properties in constructor/destructor // - base class constructors/destructors know the instanciated class name class base { public $name; function __construct() { echo __CLASS__ . "::" . __FUNCTION__ . "\n"; $this->name = 'base'; print_r($this); } function __destruct() { echo __CLASS__ . "::" . __FUNCTION__ . "\n"; print_r($this); } } class derived extends base { public $other; function __construct() { $this->name = 'init'; $this->other = 'other'; print_r($this); parent::__construct(); echo __CLASS__ . "::" . __FUNCTION__ . "\n"; $this->name = 'derived'; print_r($this); } function __destruct() { parent::__destruct(); echo __CLASS__ . "::" . __FUNCTION__ . "\n"; print_r($this); } } echo "Testing class base\n"; $t = new base(); unset($t); echo "Testing class derived\n"; $t = new derived(); unset($t); echo "Done\n"; ?> --EXPECTF-- Testing class base base::__construct base Object ( [name] => base ) base::__destruct base Object ( [name] => base ) Testing class derived derived Object ( [other] => other [name] => init ) base::__construct derived Object ( [other] => other [name] => base ) derived::__construct derived Object ( [other] => other [name] => derived ) base::__destruct derived Object ( [other] => other [name] => derived ) derived::__destruct derived Object ( [other] => other [name] => derived ) Doney~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`