类常量用于定义类中不变的值,使用const关键字声明,命名通常大写并用下划线分隔。1. 类常量在类加载时确定,不可修改,不使用$符号或访问修饰符,默认公共。2. 可通过类名加::操作符访问,如Status::SUCCESS,推荐此方式;对象实例也可访问但不推荐。3. 类内部可用self::引用常量,适用于静态方法或配置类,如Config::DB_HOST直接获取值。4. 常用于存储固定数据如状态码、配置信息,无需实例化,提升访问效率,是代码组织的良好实践。

在PHP中,类常量用于定义在类中不会改变的值,通常用来表示固定的配置、状态码或全局不变的数据。类常量在类被加载时就已确定,且不能被修改。
类常量的定义
使用 const 关键字来定义类常量。常量名通常使用大写字母,多个单词之间用下划线分隔,这是PHP社区的命名规范。
class Status
{
const SUCCESS = 'success';
const ERROR = 'error';
const PENDING = 'pending';
}
注意:类常量不使用 var 或 $ 符号,也不能使用 public、private、protected 这些访问修饰符(默认为公共且不可更改)。
类常量的访问方式
类常量可以通过类名直接访问,也可以通过对象实例访问,但推荐使用类名加作用域解析操作符 :: 的方式。
立即学习“PHP免费学习笔记(深入)”;
Avactis是一个强大的PHP在线购物系统拥有多个版本包括开源版本。它具备一个在线购物系统所需要的所有功能从产品到会员管理,订单和营销。可以无限分类和为产品指定任务数量的图片(支持自动生成缩略图)。使用自定义字段功能,让你可以更好地定义一个产品。该系统提供以非常灵活的方式来创建任意类型的促销活动如设置折扣代码,基于价格的折扣或基于数量的折扣等。
// 使用类名访问 echo Status::SUCCESS; // 输出: success // 通过对象访问(不推荐) $status = new Status(); echo $status::ERROR; // 输出: error
在类内部,可以使用 self:: 来引用当前类的常量。
class Status
{
const SUCCESS = 'success';
public function getStatus()
{
return self::SUCCESS;
}
}
静态上下文中的使用
类常量常用于静态方法或需要提前获取固定值的场景。由于不需要实例化类即可访问,因此非常适用于配置类或工具类。
class Config
{
const DB_HOST = 'localhost';
const DB_NAME = 'test_db';
public static function getHost()
{
return self::DB_HOST;
}
}
echo Config::DB_HOST; // 直接获取数据库主机
基本上就这些。类常量简单实用,适合存储不会变动的数据,访问高效,是组织代码时的良好实践。










