2016-07-31 21:31 GMT+02:00 David Walker <d...@mudsite.com>: > Hi All, > > I'm attempting to get involved and hack away at some internals; I figured > the best method to do this would be to pick up a bug and do my best at it. > So I grabbed #37676. The issue asks to implement an E_(NOTICE|WARNING) > when attempting to access scalar values as arrays. cmb alerted me to a > long thread that came up last year ( > http://marc.info/?t=143379796900001&r=1&w=2). I've read over it and the > couple of other PR's that attempted to resolve this issue. > > As I read, the couple of major complaints about adding an E_NOTICE were > that multiple-accesses in a set (i.e. $a=false;$a[1][2][3];) would produce > too many errors. Matt > <http://marc.info/?l=php-internals&m=143384434418881&w=2> raised this > issue, in addition to it only being raised for non-null issues; having NULL > be an 'identity' of sort that any array access on a NULL is NULL. I agree > with him in part, and oppose in others. I think that original access to a > NULL should be treated as accessing any scalar value, however I do agree > that multiple notices would be bad. Rowan > <http://marc.info/?l=php-internals&m=143385309121593&w=2> has also > presented his thoughts to the same, and this implementation takes into > account his solution where we don't raise much. > > Christoph <http://marc.info/?l=php-internals&m=143385339521672&w=2> > countered > that: ```$o->foo->bar``` would itself raise two notices rather than one. I > would present that that behavior should be pruned itself. Object access on > a null should alert, but subsequent calls ought not to (I don't know how to > prevent that, but then again I haven't learned). > > > So I want to solicit for more discussion given previous talks. My > first-attempt RFC for this is at: > https://wiki.php.net/rfc/notice-for-non-valid-array-container > > -- > Dave > > ps: this is my first attempt here at an RFC solo, and preemptively > apologize if anything deviates from the norm too far, did my best to follow > all them how-to's. >
Big +1. We came across that some days ago again. Regards, Niklas