在类中可以定义常量(constant),用来表示不会改变的值。
我们使用const定义一个常量,定义的这个常量不能被改变。
在 PHP 5中const定义的常量与定义变量的方法不同,不需要加 $
修饰符。 const PI = 3.14; 这样就可以。而使用const 定义的常量名称一般都大写,这是一个约定,在任何语言中都是这样。
如果定义的常量由多个单词组成,使用下划线 _
连接,这也是约定。对于从该类实例化的任何对象来说,常量值在这些对象中的整个生命周期中都保持不变。
类常量如下创建:
const NAME = "VALUE";
例如,假设创建一个与数字有关的类,其包括一些定义数组函数的方法以及很多常量:
class math_funcitons
{
const PI='3.14159265';
const E='2.7182818284';
const EULER='0.5772156649';
}
然后就可以像下面这样使用类常量:
echo math_functions::PI
类中的常量使用起来类似静态变量,不同点只是它的值不能被改变。我们使用类名 ::
常量名来调用这个常量。
<?php
//声明一个final类Math
class Math{
const PI=3.14;
public function __construct() {
return "这是Math类";
}
//这里写了一个算圆面积的方法,使用了Const常量,
//注意使用的方法,类似于静态变量。
public final function area($r) {
return $r*$r*self::PI;
}
public final function max($a,$b) {
return $a>$b?$a:$b;
}
}
echo Math::PI;
?>
尝试为const定义的常量赋值,将会出现错误。
<?php
//说明一个final类Math
class Math {
const PI=3.14;
public function __toString() {
return "这是一个Math类";
}
//这里写了一个算圆面积的方法,使用了Const常量,
//注意使用的方法,类似与静态变量。
public final function area($r) {
return $r*$r*self::PI;
}
public final function max($a,$b){
return $a>$b?$a:$b;
}
public function setPI($a) {
self::PI=3.1415;
}
}
echo Math::PI;
?>
猜你喜欢:
暂无回复。