1--TEST-- 2SPL: Ensure access to non-visible properties falls back to dimension access with ArrayObject::ARRAY_AS_PROPS. 3--FILE-- 4<?php 5class C extends ArrayObject { 6 private $x = 'secret'; 7 8 static function go($c) { 9 var_dump($c->x); 10 } 11} 12 13$c = new C(array('x'=>'public')); 14 15$c->setFlags(ArrayObject::ARRAY_AS_PROPS); 16C::go($c); 17var_dump($c->x); 18 19 20$c->setFlags(0); 21C::go($c); 22var_dump($c->x); 23?> 24--EXPECTF-- 25string(6) "secret" 26string(6) "public" 27string(6) "secret" 28 29Fatal error: Uncaught Error: Cannot access private property C::$x in %s:19 30Stack trace: 31#0 {main} 32 thrown in %s on line 19 33