Есть ли способ установить переменную класса для применения ко всем экземплярам этого класса в PHP?
Вопрос
Я, вероятно, задаю вопрос плохо, поэтому я собираюсь привести пример. У меня есть класс, который является чем-то похожим на это:
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 );
}
Моя проблема заключается в использовании этого объекта, шаблон всегда должен быть одинаковым, и запись - какие изменения для каждого экземпляра объекта. Есть ли способ иметь значение для $ шаблонов перенести на каждый новый экземпляр? Что-то типа
$a = new myclass(1,500);
$b = new myClass(2);
Где B имеет значение для $this->template
Это было уже сгенерировано при создании $ a. Может быть, я приближаюсь к этому из неверного угла полностью. Любые предложения оценили.
Решение
да. Объявляя его статично сделаю это свойство класса
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 только. До этого вам придется сделать счетчик :: $ Total.