потребовалось поставить докер, mysql и php (всё таки не только с вёрсткой и javascript-ом нужно работать). И снова куча попутных обновлений. Итог этих обновлений - сейчас система фризит и тормозит
class Demo {
static private $db = null;
static private $cache = [];
static protected function getDb() {
if(self::$db === null) {
self::$db = ... // init $db
}
return self::$db;
}
static protected function cachedAction($arg) {
if(!array_key_exist($arg, self::$cache)) {
self::$cache[$arg] = ... // do action
}
return self::$cache[$arg];
}
}
class DemoChild : public Demo {
}
$a = new Demo();
$b = new DemoChild();
$a->getDb()->query();
$b->getDb()->query(); // uses the same connection
$c = $a->cachedAction('one');
$d = $b->cachedAction('one'); // no action, cache used
private function check($jsonData) {
return $this->apiUrl = $jsonData['next_page_url'] ?? null;
}
у меня в таблице не чистые данные, внутри ячеек лежат дивы, заголовки имиджи
&(*leftElement);
, но если вас угораздит обратиться по этому указателю после того, как с сетом что-нибудь произошло (например, добавлен или удален элемент), вас могут ожидать разные нетривиальные, трудно отлавливаемые сюрпризы.