• 技术文章 >php教程 >PHP源码

    php类常量

    PHP中文网PHP中文网2016-05-25 16:58:12原创378
    <?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
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php类常量
    上一篇:huihuicms系统以APP方式重新诠释cms的意义 下一篇:查询字串解析
    PHP编程就业班

    相关文章推荐

    • PHP实现各种经典算法• 剖析PHP中的输出缓冲 flush之类• 整理php操作memcache缓存基础方法• PHP实现301跳转,及延时跳转代码• php上传cvs文件完整例子

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网