PHP PHP 类常量的使用

benson · 2019-11-26 15:37:24 · 热度: 21

在类中可以定义常量(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;
?>

猜你喜欢:
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册