BlaBla.cn

Class Constants


Class Constants

It is possible to define constant values on a per-class basis remaining the same and unchangeable. Constants differ from normal variables in that you don't use the $ symbol to declare or use them.

The value must be a constant expression, not (for example) a variable, a class member, result of a mathematical operation or a function call.

As of PHP 5.3.0, it's possible to reference the class using a variable. The variable's value can not be a keyword (e.g. self, parent and static).

Example #1 Defining and using a constant

<?php
class  MyClass
{
    const 
constant  'constant value' ;

    function 
showConstant () {
        echo  
self :: constant  "\n" ;
    }
}

echo 
MyClass :: constant  "\n" ;

$classname  "MyClass" ;
echo 
$classname :: constant  "\n" // As of PHP 5.3.0

$class  = new  MyClass ();
$class -> showConstant ();

echo 
$class :: constant . "\n" // As of PHP 5.3.0
?>

Example #2 Static data example

<?php
class  foo  {
    
// As of PHP 5.3.0
    
const  bar  = <<< 'EOT'
bar
EOT
;
}
?>

Unlike heredocs, nowdocs can be used in any static data context.

Note: Nowdoc support was added in PHP 5.3.0.


 
BlaBla.cn

© 2005-2008 BlaBla.cn 版权所有