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.
© 2005-2008 BlaBla.cn 版权所有