Re: Re: [VOTE] Intermediate Results
| From: | Lukas Kahwe Smith | Date: | Sat, 07 Oct 2006 07:31:51 +0000 |
| Subject: | Re: Re: [VOTE] Intermediate Results | ||
| References: | 1 2 3 4 5 6 7 8 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-25986@lists.php.net to get a copy of this message | ||
Edin Kadribasic wrote:
Edin Kadribasic wrote:So it seems that the question seems to be mainly about if this should be an E_STRICT or E_NOTICE right? Here is my current understanding of things: E_STRICT: "improper" yet workable OO code warnings, especially for unclean code style that will not be removed but also things that are planned for deprecation in the next major version E_NOTICE: "improper" yet workable procedural code warnings? Would be nice to get this resolved before RC6 .. regards, LukasStanislav Malyshev wrote:Hate to have to reply to myself, but to clarify. I believe that most OO "strictness" fatal errors should be demoted to notices. * Changing function signatures in derived classes * Accessing non-existing class constant (print myclass::myconst) * Creating class variables (myclass::$myvar = 1) The last two exist in non-OO versions and there accessing a non-existing constant is a E_NOTICE and you don't have to declare variables at all, so I guess we should not take 180 degree turn in their OO equivalents.Yes, it was my opinion as well that E_NOTICE would be the most appropriate choice here.The vote is should OO strictness (fatal error on changing function arguments in derived classes in this case) be removed or kept.I think fatal error should be definitely removed or the rules be at least relaxed sufficiently to accomodate for PHP flexibility - e.g., () should be allowed to be overriden with ($a, $b, $c), etc. In light of technical difficulty to implement sufficiently flexible cheks, I would not mind removing them altogether or demoting them to very low priority notice.