PHP中的常量和枚举(附代码示例)

153 阅读1分钟

我们可以用define() 内置函数在 PHP 中定义常数:

define('TEST', 'some value');

然后我们可以像使用一个变量一样使用TEST ,但没有$ 标志:

define('TEST', 'some value');

echo TEST;

我们使用大写的标识符作为常量的惯例。

有趣的是,在类里面我们可以使用const 关键字来定义常量属性:

class Dog {
  const BREED = 'Siberian Husky';
}

默认情况下,它们是public ,但我们可以把它们标记为privateprotected

class Dog {
  private const BREED = 'Siberian Husky';
}

枚举允许你在一个共同的 "根 "下分组常量。例如,你想有一个Status 枚举,有3种状态。 EATING SLEEPING RUNNING ,狗的一天的3种状态。

所以你就有了:

enum Status {
  case EATING;
  case SLEEPING;
  case RUNNING;
}

现在我们可以用这种方式引用这些常量:

class Dog {
  public Status $status;
}

$dog = new Dog();

$dog->status = Status::RUNNING;

if ($dog->status == Status::SLEEPING) {
  //...
}

枚举是对象,它们可以有方法和更多的功能,在这个简短的介绍中,我们不能在这里说到。