У меня проблема с куриным яйцом. Я бы тоже хотел реализовать систему в PHP ООП, в которой два класса будут играть важную роль: база данных и журнал. Моя идея состояла в том, чтобы создать соединение с помощью класса Database, который будет иметь открытые методы, например. runQuery (sUpdateQuery), doInsert (sInsert) и т. д. Класс Log будет записывать журналы с помощью общих методов так же, как logMessage (сообщение), logDatabaseQuery (sQuery) в базу данных. Проблема наступает сейчас.
1: Внутри методов класса Database я хотел бы иметь возможность использовать logDatabaseQuery (sQuery) класса Log
2: Это все равно не будет большой проблемой, если я не захочу использовать метод doInsert (sInsert) класса Database внутри метода logDatabaseQuery.
Я хотел бы сохранить простоту - и просто использовать один экземпляр объекта подключения к базе данных, а также из журналов, если это возможно.
Для многих людей первой идеей была бы модель Singleton, но я определенно хотел бы использовать другое решение.
Таким образом, будет два класса, которые будут использовать методы друг друга:
База данных
doInsert
logDatabaseQuery
Log
logDatabaseQuery
doInsert
Я хотел бы хранить методы Log отдельно (в классе Log), поскольку позже у него будут другие методы для входа не только в базу данных, но и в файлы или электронную почту.
Есть идеи, как это можно / можно сделать самым приятным, ООП-дружественным способом?
Я думал об общем родительском абстрактном классе или об использовании интерфейсов, но, наконец, не смог найти правильный путь :(
Что я хотел бы знать, так это предложение по правильной иерархии классов