gpt4 book ai didi

php - 有没有办法设置一个类变量以应用于 php 中该类的所有实例?

转载 作者:行者123 更新时间:2023-12-04 06:57:29 24 4
gpt4 key购买 nike

我可能问得不好,所以我要举一个例子。我有一个与此类似的类(class):

class myclass {
var $template = array();
var $record = array();

function __construct($template,$record) {
$this->template = ( set = to a database response here );
$this->record = ( set = to a database response here );
}

我的问题是在使用这个对象时,模板应该总是相同的,并且记录是对象的每个实例的变化。有没有办法让 $template 的值结转到每个新实例?就像是
$a = new myclass(1,500);
$b = new myClass(2);

其中 b 的值为 $this->template这是在创建 $a 时已经生成的。也许我完全从错误的角度接近这个。任何建议表示赞赏。

最佳答案

是的。 Declaring it static将使其成为类属性

class Counter {
public static $total = 0;
public function increment()
{
self::$total++;
}
}
echo Counter::$total; // 0;
$a = new Counter;
$a->increment();
echo $a::$total; // 1;
$b = new Counter;
echo $b::$total; // 1;

注意:我使用 $a 和 $b 访问静态属性来说明该属性同时适用于两个实例的观点。此外,这样做仅适用于 5.3。在此之前,您必须执行 Counter::$total。

关于php - 有没有办法设置一个类变量以应用于 php 中该类的所有实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2379832/

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