@Petya88
Так себе программист

Какой тип класса сделать для логов?

Планирую сделать класс для сохранения логов. Для практики в 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)
но мы вроде как не делаем простые, глобальные функции :)

Что бы вы мне посоветовали?
  • Вопрос задан
  • 55 просмотров
Пригласить эксперта
Ответы на вопрос 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
dependency injection
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы