Как реализовать заполнение статических свойств в наследуемых классах из родительского? Что-то я запутался со static. Точнее с тем как с его помощью можно сделать синглтон.getDocComment();
static::$name = $reflect->getShortName();
echo "Получение Reflect данных для класса ".static::$name;
//}
}
}
echo "";
for($i=0;$i";
print_r($list);
echo "";
}PHP Fiddle
Как видно из кода, нет смысла инициализировать статические свойства для каждого обьекта, они должны быть инициализированы один раз для каждого класса

21 Авг 2019 в 06:59
178 +1
0
Ответы
1

. В данном примере при создании экземпляра класса A или B вызывается конструктор класса Base, который инициализирует статические свойства $comment и $name один раз для каждого класса. Таким образом, при каждом создании экземпляра класса A и B, данные статические свойства будут использоваться без повторной инициализации.

Чтобы реализовать синглтон с использованием статического свойства, можно добавить соответствующий метод в класс, который будет создавать и возвращать единственный экземпляр класса. Например:

class Singleton {
private static $instance = null;
private function __construct() {
// Приватный конструктор, чтобы предотвратить создание экземпляров класса извне
}
public static function getInstance() {
if (self::$instance == null) {
self::$instance = new Singleton();
}
return self::$instance;
}
}

Теперь для получения единственного экземпляра класса Singleton можно использовать метод getInstance, который каждый раз будет возвращать один и тот же экземпляр.

20 Апр в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 588 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир