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 >> /opt/php-7.0.1/Zend/tests/traits/ |
files >> //opt/php-7.0.1/Zend/tests/traits/property001.phpt |
--TEST-- Potentially conflicting properties should result in a strict notice. Property use is discorage for traits that are supposed to enable maintainable code reuse. Accessor methods are the language supported idiom for this. --FILE-- <?php error_reporting(E_ALL); trait THello1 { private $foo; } trait THello2 { private $foo; } echo "PRE-CLASS-GUARD-TraitsTest\n"; error_reporting(E_ALL & ~E_STRICT); // ensuring that it is only for E_STRICT class TraitsTest { use THello1; use THello2; } error_reporting(E_ALL | E_STRICT); echo "PRE-CLASS-GUARD-TraitsTest2\n"; class TraitsTest2 { use THello1; use THello2; } var_dump(property_exists('TraitsTest', 'foo')); var_dump(property_exists('TraitsTest2', 'foo')); ?> --EXPECTF-- PRE-CLASS-GUARD-TraitsTest PRE-CLASS-GUARD-TraitsTest2 bool(true) bool(true)y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`