Планирую сделать класс для сохранения логов. Для практики в php и заодно для работы.
Сам класс простой, имеет три свойства: message, date и type ('log', 'error')
Методы add, delete, get.
Для работы класса нужна БД.
Меня интересует вопрос сохранения записи, тк вызвать класс хорошо бы в любом месте приложения.
Можно пойти двумя способами:
1. Создавать класс, каждый раз, когда нужно что-то сохранить, но это муторно из-за того, что каждый раз надо создавать экземпляр и каждый раз передавать туда бд.
$report = new Report(DB::Instance());
$report->setMessage('Ошибка 1');
$report->setType('error');
$report->add();
2. Сделать статичный класс, один раз объявив в и потом используя.
Report::Instance(DB::Instance());
//А потом
Report::setMessage('Ошибка 1');
Reportt::setType('error');
Report::add();
3. Можно конечно и простую глобальную функцию, типо saveReport($type, $message)
но мы вроде как не делаем простые, глобальные функции :)
Что бы вы мне посоветовали?