Re: [RFC] Reclassifying engine warnings

From: Date: Wed, 28 Aug 2019 10:40:47 +0000
Subject: Re: [RFC] Reclassifying engine warnings
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-106715@lists.php.net to get a copy of this message
On Wed, Aug 28, 2019 at 12:33 PM Nikita Popov <nikita.ppv@gmail.com> wrote: > Hi internals, > > I think it's time to take a look at our existing warnings & notices in the > engine, and think about whether their current classification is still > appropriate. Error conditions like "undefined variable" only generating a > notice is really quite mind-boggling. > > I've prepared an RFC with some suggested classifications, though there's > room for bikeshedding here... > > https://wiki.php.net/rfc/engine_warnings Specifically on undefined variables, the way we deal with them has little to do with register_globals. It's behavior you can find in other dynamic languages (e.g. Perl), and allows for certain code patterns (which rely on the automatic creation of a variable whenever it's used in write context, and on a default known-in-advance value in case it's used in a read context). It's fine not to like this behavior or the code patterns that commonly rely on it (e.g., @$foo++), but it's intentional and isn't related to any historical reasons. I think many (if not all) of your proposals make sense, but most of them make sense as an opt-in - perhaps using something similar to Perl's strict mode (which incidentally, changes the way the language treats undefined variables in exactly the same way). This would also provide a future-proof solution for additional similarly-themed proposals (such as strict ops, etc.). Zeev

« previous php.internals (#106715) next »