ID:               22047
 Comment by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Wont fix
 Bug Type:         *General Issues
 Operating System: Linux
 PHP Version:      4.3.0
 New Comment:

How's changing a NOTICE into a WARNING going to break
anything, anyway?

diff -ur a/Zend/zend_constants.c b/Zend/zend_constants.c
--- a/Zend/zend_constants.c     2002-10-09 16:17:53.000000000 +0200
+++ b/Zend/zend_constants.c     2003-02-05 07:46:35.000000000 +0100
@@ -265,7 +265,7 @@
                if (!(c->flags & CONST_PERSISTENT)) {
                        zval_dtor(&c->value);
                }
-               zend_error(E_NOTICE,"Constant %s already defined",
lowercase_name);
+               zend_error(E_WARNING, "Constant %s already defined",
lowercase_name);
                ret = FAILURE;
        }
        free_alloca(lowercase_name);


Previous Comments:
------------------------------------------------------------------------

[2003-02-04 12:46:48] [EMAIL PROTECTED]

Guys, if this is how you deal with backwards
compatibility issues, then I'm scared.

I've been maintaining a big PHP project that's about
1MB of very clean code and I need to keep it alive.
This particular bug gave me quite a bit of a headache.
I've provided valid arguments on why a (trivial) change
should be made, and you seem to not really care.  That's
not giving me nice prospects into the future, is it?

Come on, we're talking about constants here!
If a constant is redefined by a program, then
that program is broken by definition and needs
to be told on an appropriate level.

------------------------------------------------------------------------

[2003-02-04 12:31:13] [EMAIL PROTECTED]

It's fine as it is -> wont fix.

------------------------------------------------------------------------

[2003-02-04 11:48:17] [EMAIL PROTECTED]

A NOTICE definitely is NOT sufficient.

Remember many setups running older PHP software set
"error_reporting = E_ALL & ~E_NOTICE", because the
amount of notices on undefined array indices and
undefined variables can be quite overwhelming --
and it is precisely these setups that are likely
to be bitten by this problem.

Redefinition of a constant should be a WARNING,
I must insist.

------------------------------------------------------------------------

[2003-02-04 10:27:54] [EMAIL PROTECTED]

A notice is fine, we're not going to change this as it might break
scripts out there.

------------------------------------------------------------------------

[2003-02-04 10:20:52] [EMAIL PROTECTED]

Good, thanks.

Let me clarify -

PHP does log a NOTICE such as

[04-Feb-2003 17:18:22] PHP Notice:
  Constant T_LIST already defined
  in x.php on line 3

but this definitely needs to be a WARNING
or even an ERROR.

-Tomas

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/22047

-- 
Edit this bug report at http://bugs.php.net/?id=22047&edit=1

Reply via email to