Сейчас я программирую на PHP / Laravel, но я думаю, что это может относиться к любой другой среде MVC.Я буду использовать синтаксис PHP / Laravel.
У меня есть приложение, для которого понадобится очень простой контрольный журнал.Таблица аудита (audit_event
) в базе данных выглядит примерно так:
(id, user_id, event_id, description, occured_at)
Как вы думаете, user_id
- это пользователь, вызвавший event_id
.description
здесь, если вам нужно быть более подробным, occured_at
- это отметка времени для события.
Теперь я создал модель AuditEvent
, которая имеет отношения к пользователю и событию.Я также написал отношения от User
и Event
до AuditEvent
.
Функция для записи события аудита, например, проста:
public static function audit($event, $description = "") {
$id = \Auth::user()->id;
$ae = new AuditEvent();
$ae->user_id = $id;
$ae->event_id = $event;
$ae->description = $description;
$ae->save();
return null;
}
Мой вопрос такой... где должна быть эта функция?Должно ли это быть в модели, или я должен создать контроллер AuditEventController
и поместить его туда?
Когда я вызываю функцию, я должен включить
use \App\Controllers\AuditEventController
и вызвать его
AuditEventController::audit(5, "whatever")
Я знаю, что размещение функции в модели также будет работать, но ... что нужно сделать, чтобы соответствовать MVC?