php : 类常量

摘要:
用法摘要:1.无法使用define进行定义。2.通过“类名::constant name”获取/**PHP类常量。**类常量属于类本身,不属于对象实例,不能通过对象实例访问。*不能使用public、protected、private和static来修改*子类可以重写父类中的常量,也可以调用父类中常量。*从PHP5.3.0开始,您可以使用变量来动态调用类。

使用总结:

1.不能使用 define 来定义

2.通过 "类名::常量名" 来获取

/**
 * 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 : 类常量》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇组态软件厂家一览Python__函数下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

PHP stdClass类 使用

总结一下: stdClass类是PHP的一个内部保留类,初始时没有成员变量也没成员方法,所有的魔术方法都被设置为NULL,可以使用其传递变量参数,但是没有可以调用的方法。stdClass类可以被继承,只是这样做没有什么意义。 这是zend_builtin_module的模块初始化函数,在PHP内核进行模块初始化操作时会自动加载这个函数, 这样,stdCla...

Vue3 中插槽(slot)的用法

概要 Vue3(其实从2.6开始)中引入了一个新的指令v-slot,用来表示具名插槽和默认插槽 基础示例 <!-- default slot --> <foo v-slot="{ msg }"> {{ msg }} </foo> <!-- named slot --> <foo>...

出现这个错误说明是程序在调用'ZipArchive' 这个类的时候没有成功

出现这个错误说明是程序在调用'ZipArchive' 这个类的时候没有成功,原因是由于在安装php的时候没有增加php zip的支持(非zlib)。在Windows下的解决办法是:1、在php.ini文件中,将extension=php_zip.dll前面的分号“;”去除;(如果没有,请添加extension=php_zip.dll此行并确保php_zip...

pyecharts库的安装

pip install pyecharts from pyecharts import Bar 报错:ImportError: cannot import name 'Bar' from 'pyecharts' (D:anacondalibsite-packagespyecharts\__init__.py) 首先进入官网 https://pypi.org...

php : mysql数据库操作类演示

设计目标:  1,该类一实例化,就可以自动连接上mysql数据库;  2,该类可以单独去设定要使用的连接编码(set names XXX)  3,该类可以单独去设定要使用的数据库(use XXX);  4,可以主动关闭连接; <?php /* 设计一个类:mysql数据库操作类 设计目标: 1,该类一实例化,就可以自动连接上mysql数据库...

使用echarts插件做图表常见的几个问题(四)—— 柱状图中以虚线展示重合的柱子

场景:柱状图实现重合并且以虚线展示 措施:代码如下 barGap表示不同系列的柱间距离,默认为30%表示柱子宽度的 30% option = { xAxis: { data: ['a', 'b', 'c', 'd'], axisTick: {show: false} }, yAxis: {...