Как записать действия пользователя в базу данных с помощью Zend Framework - PullRequest
2 голосов
/ 08 июля 2010

В настоящее время я создаю cms с помощью Zend Framework и внедрил текстовый журнал, который будет регистрировать любые ошибки и позволять мне регистрировать любые пользовательские сообщения, которые я могу захотеть записать.

Как часть cms, мне нужно предоставить некоторую рану истории ревизий для страниц, постов в блоге и т. Д. Я подумал над тем, чтобы иметь простую таблицу журналов для хранения пользователя, действия, времени данных, запуска SQL, имени таблицы. запрос был выполнен и запись.

Чтобы получить историю ревизий для страницы, вам нужно просто запросить у таблицы журнала имя таблицы и идентификатор записи для текущей просматриваемой записи. Сортировать по дате Затем вы можете предоставить функциональность, чтобы просто вернуться к желаемой ревизии, запустив оператор обновления в столбце sql таблицы журнала. Если это вставка, то придумайте что-нибудь, чтобы преобразовать вставку в обновление или не разрешать пользователю возвращаться к первоначальной вставке.

Это лучший способ сделать это или я немного прост.

1 Ответ

3 голосов
/ 08 июля 2010

Было бы лучше добавить столбец «редакция» к таблицам, которые вы хотите поддерживать редакции, чтобы в документе было несколько редакций в этой таблице .

.добавьте «активный» столбец, который равен 1 для ревизии, которую вы хотите быть активным, и 0 для других ревизий того же документа.Это позволяет легко запрашивать ревизию, которую вы хотите показать, просто набрав WHERE active = 1.Это также упрощает изменение активной ревизии.

Я бы не рекомендовал хранить полные операторы SQL в таблице журнала.Это риск безопасности внедрения SQL-кода.

...