From fecd0c95354c61fb51ce5099f7f9e6c9e4cea6e7 Mon Sep 17 00:00:00 2001 From: Nikiroy78 Date: Sat, 11 Mar 2023 17:50:14 +0300 Subject: [PATCH] upload files into repos --- 1.php/readme.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/1.php/readme.md b/1.php/readme.md index 86a0888..eb2ca5c 100644 --- a/1.php/readme.md +++ b/1.php/readme.md @@ -153,4 +153,26 @@ class Realization { $this->isReady = false; } } +``` +Для метода ready мы реализовали механизм проверки, чтобы кэш не писался несколько раз, поскольку данный метод, в виду рекурсивности метода ->getModelElement(), будет вызываться несколько раз. +Теперь ближе к конкретной реализации: будем использовать pdo в нашей реализации. Будем использовать базу данных MySQL в виду того, что прописывать адрес сервера MySQL будет легче, чем путь до файла БД SQLite3 *(Однако ввиду специфики pdo и модульности нашей системы, какая БД и какая модель будет использоваться не играет значимой роли)* +```php +class RealizationMySQL { // Да, я изменил имя класса, чтобы было яснее какая именно это реализация. + public $isReady = false; + + public function getElement ($root = null) { + // ... код реализации + } + + public function ready () { + if (!$this->isReady) { + $this->isReady = true; + // ... Запрос и запись это в кэш + } + } + + public function finish () { + $this->isReady = false; + } +} ``` \ No newline at end of file