gpt4 book ai didi

php - PHP 中的常量与属性?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:04:10 26 4
gpt4 key购买 nike

我只是不明白,

class MyClass
{
const constant = 'constant value';

function showConstant() {
echo self::constant . "\n";
}
}

class MyClass
{
public $constant = 'constant value';

function showConstant() {
echo $this->constant . "\n";
}
}

主要区别是什么?它与定义变量一样,不是吗?

最佳答案

常量是常量(哇,谁会想到这一点?)它们需要一个类实例。因此,您可以编写 MyClass::CONSTANT,例如PDO::FETCH_ASSOC。另一方面,属性需要一个类,因此您需要编写 $obj = new MyClass; $obj->常量

此外还有静态属性,它们也不需要实例(MyClass::$constant)。这里的区别再次在于,MyClass::$constant 可以更改,但 MyClass::CONSTANT 可能不会。)

因此,只要您有标量、非表达式值且不会更改,就使用常量。它比属性更快,它不会污染属性命名空间,而且对于阅读您的代码的任何人来说都更容易理解。

关于php - PHP 中的常量与属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3590178/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com