php类常量用法实例分析

6年以前  |  阅读数:881 次  |  编程语言:PHP 

本文实例讲述了php类常量用法。分享给大家供大家参考。具体如下:


    <?php
    /**
     * PHP类常量
     *
     * 类常量属于类自身,不属于对象实例,不能通过对象实例访问
     * 不能用public,protected,private,static修饰
     * 子类可以重写父类中的常量,可以通过(parent::)来调用父类中的常量
     * 自PHP5.3.0起,可以用一个变量来动态调用类。但该变量的值不能为关键字(如self,parent或static)。
     */
    class Foo
    {
      // 常量值只能是标量,string,bool,integer,float,null,可以用nowdoc结构来初始化常量
      const BAR = 'bar';
      public static function getConstantValue()
      {
        // 在类的内部可以用self或类名来访问自身的常量,外部需要用类名
        return self::BAR;
      }
      public function getConstant()
      {
        return self::BAR;
      }
    }
    $foo = 'Foo';
    echo $foo::BAR, '<br />';
    echo Foo::BAR, '<br />';
    $obj = new Foo();
    echo $obj->getConstant(), '<br />';
    echo $obj->getConstantValue(), '<br />';
    echo Foo::getConstantValue();
    // 以上均输出bar
    class Bar extends Foo
    {
      const BAR = 'foo'; // 重写父类常量
      public static function getMyConstant()
      {
        return self::BAR;
      }
      public static function getParentConstant()
      {
        return parent::BAR;
      }
    }
    echo Bar::getMyConstant(); // foo
    echo Bar::getParentConstant(); // bar

希望本文所述对大家的php程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8