#27523 [Com]: Class constants don't work as class function parameter defaults

From: Date: Mon, 08 Mar 2004 16:28:43 +0000
Subject: #27523 [Com]: Class constants don't work as class function parameter defaults
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-56110@lists.php.net to get a copy of this message
 ID:               27523
 Comment by:       wevegotafileonyou at hotmail dot com
 Reported By:      random at sinfusion dot com
 Status:           Open
 Bug Type:         Scripting Engine problem
 Operating System: Windows 2000
 PHP Version:      5.0.0b4 (beta4)
 New Comment:

You need to prepend the classname to the constant name (or use 'self')
eg:

TestConstants::CONST_1
self::CONST_1

--
sleepeasy.


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

[2004-03-07 22:29:43] random at sinfusion dot com

Description:
------------
Constants declared within a class are not recognized as such when used
as function parameter default values for functions within the class.


Reproduce code:
---------------
class TestConstants
{

    const CONST_1 = 1;

    function test ($param = CONST_1)
    {
        echo $param;
    }
}

$test = new TestConstants();

$test->test();


Expected result:
----------------
1

Actual result:
--------------
Notice: Use of undefined constant CONST_1 - assumed 'CONST_1' in
f:\dev\Web\pervercity.com\test\testconstants.class.php on line 8
CONST_1


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


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


Thread (4 messages)

« previous php.bugs (#56110) next »