gpt4 book ai didi

php - 引用 const 变量时 $this 或 self 或 static 哪个最好?

转载 作者:可可西里 更新时间:2023-10-31 23:01:22 25 4
gpt4 key购买 nike

我了解到 staticself 好,因为 self 进行后期静态绑定(bind)。

但我想知道哪种方法最适合引用 const 变量。

class Black
{
const color = 'black';

public function byThis()
{
return $this::color;
}

public function bySelf()
{
return self::color;
}

public function byStatic()
{
return static::color;
}
}

我检查了所有三个 getter 都工作正常。哪个是最好的选择? (我使用的是 PHP 7.0)

最佳答案

关键字selfstatic 的区别在于:

class White {
const color = "white";

public function byThis()
{
return $this::color;
}

public function bySelf()
{
return self::color;
}

public function byStatic()
{
return static::color;
}
}

class Black extends White
{
const color = "black";
}

$black = new Black;
echo "byThis: " . $black->byThis() . PHP_EOL;
echo "bySelf: " . $black->bySelf() . PHP_EOL;
echo "byStatic: " . $black->byStatic() . PHP_EOL;

输出:

byThis: black
bySelf: white
byStatic: black

我希望使用 $black 实例输出为 black,所以我认为 static 更好。

关于php - 引用 const 变量时 $this 或 self 或 static 哪个最好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45428441/

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