常量
一、定义
可以把在类中始终保持不变的值定义为常量。在定义和使用常量的时候不需要使用 $
符号。常量的值必须是一个定值,不能是变量,类属性,数字运算的结果或函数调用。
二、语法
const constant = '常量';
三、调用方法
1) 类内部
// 方法一:
self::常量名;
// 方法二:
类名::常量名;
举例:
// 方法一:self::常量名称
self::WINNER;
// 方法二:类名::常量名
Chu::WINNER;
完整代码:
class Animal
{
// 可以写所需要的代码
}
class Chu extends Animal
{
// 定义一个常量
const WINNER = '今天是9月8日';
public function getDay()
{
echo Chu::WINNER; // 可以 return Chu::WINNER;(由于一个方法中只能有一个 return,所以此处用 echo 来测试)
echo '<hr>';
return self::WINNER;
}
}
$obj = new Chu();
var_dump($obj->getDay());
运行结果:
2) 类外部
// 方法一:
类名::常量名;
// 方法二:
对象名::常量名;
举例:
// 方法一:类名::常量名
Chu::WINNER;
// 方法二:对象名::常量名
$obj::WINNER;
完整代码:
class Animal
{
// 可以写所需要的代码
}
class Chu extends Animal
{
const WINNER = '今天是9月8日';
}
$obj = new Chu();
echo Chu::WINNER;
运行结果:
四、使用 define
定义类常量
举例1:在类中定义类常量
class Animal
{
// 代码块
}
class Chu extends Animal
{
const WINNER = '今天是9月8日';
define('W', '今天是2018年9月8日');
public function get()
{
echo Chu::W;
return self::WINNER;
}
}
$obj = new Chu();
var_dump($obj->get());
运行结果:
注:无法在类中用 define
直接定义类常量,只能在类的方法中定义,且使用的是定义时的默认值
举例2:在类的方法定义类常量
class Animal
{
// 代码块
}
class Chu extends Animal
{
public function get()
{
define('W', '今天是2018年9月8日');
return W;
}
}
$obj = new Chu();
var_dump($obj->get());
运行结果:
总结:
1)在类中,只能使用 const
来定义类常量;
2) 在类内,使用类常量,用 self::常量名
或者 类名::常量名
;
3)在类外,使用类常量,用 类名::常量名
或者 对象名::常量名
;
4) self
用来找到当前变量所在的类的名称.
相关阅读
问题:操作数类型冲突: uniqueidentifier 与 int 不兼容
重点内容 操作数类型冲突: uniqueidentifier 与 int 不兼容! 这是遇到的问题
首页 >> 了解你自己 >> 立即参与MBTI性格测试>> INTJ 专家型——追求能力与独立 报告接收人: 才储成员
每年的天猫双十一销量再都会刷新纪录,网上就会有人批评淘宝刷单,也有人说双十一的价格比平时还贵。但是很多人却把关注点放在了双十
文章目录bool类型bool类型变量默认初始化值bool类型 bool类型是c++基本类型之一 bool类型有2个值true or false,true默认值是1,fal
win10中wpcap.dll丢失的解决办法(解决Proteus中与网络
解决Proteus中与网络类仿真相关的模块报错问题,如ENC28J60。 使用windump时,提示wpcap.dll丢失。 下载win10pcap.msi安装。 网址:htt