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

 ID:                 54366
 Updated by:         fel...@php.net
 Reported by:        cnick at titancrest dot com
 Summary:            Constants in and among classes, in simulating
                     structs -and- static variables
-Status:             Open
+Status:             Feedback
 Type:               Bug
 Package:            *General Issues
 Operating System:   Windows 7 Ultimate 32bit
 PHP Version:        5.3.6
 Block user comment: N
 Private report:     N

 New Comment:

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc. If the script requires a 
database to demonstrate the issue, please make sure it creates 
all necessary tables, stored procedures etc.

Please avoid embedding huge scripts into the report.

Simplify the report. :)


Previous Comments:
------------------------------------------------------------------------
[2011-03-24 13:05:49] cnick at titancrest dot com

Description:
------------
---

>From manual page: http://www.php.net/language.oop5.constants

---



//Simulate Struct

class VolumeWeight

{

    const GRAMS = 'gm';

    const MILILITRE = 'ml';    

}



- or -



class VolumeWeight

{

    public static $GRAMS = 'gm';

    public static $MILILITRE = 'ml';    

}



Then have another (extended) struct



class WaterBottle

{

    public static $ITEM_ID = 1324;

    public static $ITEM_COST = 0.23;



    public static $UNIT = VolumeWeight::$MILILITRE; //Yields an error



}



- BUT -



class WaterBottle

{

    public static $ITEM_ID = 1324;

    public static $ITEM_COST = 0.23;



    public static $UNIT = VolumeWeight::MILILITRE; //Works (from
constant class)



}



- AND -



class WaterBottle

{

    const ITEM_ID = 1324;

    const ITEM_COST = 0.23;



    const UNIT = VolumeWeight::MILILITRE; //Error (from constant class)

}



How weird is that? Anything I can do?



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



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

Reply via email to