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