2009-07-10 2 views
0

Мне нужно создать простой журнал изменений для моего приложения.Каков наилучший способ создать журнал изменений для моего приложения?

У меня есть две таблицы: Магазин и предметы.
Я хочу регистрироваться каждый раз, когда пользователь обновляет информацию о магазине/элементе и каждый раз, когда пользователь создает/удаляет связь между элементом и хранилищем. (Пользователь может связать элемент с несколькими магазинами).

Целью является владелец этого предмета, чтобы узнать, кто внес какие-либо изменения в этот предмет.

Каков наилучший способ сделать это? Я стараюсь избегать использования сложной системы ведения журнала (так как это может быть перебор).

Я надеюсь, что я могу избежать ручного вызова функции каждый раз, когда пользователь нажимает кнопку - потому что тогда я могу легко забыть добавить эту функцию для кнопки. Так что какой-то автоматический журнал, основанный на действии пользователя, был бы милым :)

Я создаю свое приложение на PHP, используя Wordpress as Framework.

ответ

0

Количество раз, когда вы делаете вызов, должно быть не так много (и вы должны быть достаточно знакомы с вашей собственной базой кода), что вы должны иметь возможность сделать простую функцию, такую ​​как log ($ user, «action», «related»), который хранит эти данные либо в виде обычного текста, либо в аналогично определенной таблице базы данных.

+0

Да, это был мой первый подход. Но потом я начал думать ... :) Я подумал, может быть, был общий способ сделать это - например, «лучшая практика бизнеса» – Steven

+0

Это шаблон Observer, но, прежде всего, проблема не написана с использованием объектов, а у меня нет «Обратите внимание на процедурный код, использующий шаблоны. И в конце концов, это не так просто реализовать, поэтому вы должны скорее согласиться с тем, чтобы называть эти несколько функций. – usoban

+0

Спасибо, Red Beard :) Я просто запустил Wordpress в качестве рамки - для управления пользователями (и некоторый контент). Мой «плагин» более или менее независим от WP, работая со своими собственными таблицами. Возможно, я посмотрю на это позже по дороге: http://www.a-scripts.com/object-oriented-php/2009/02/21/the-observer-pattern. На данный момент я просто запускаю функцию каждый раз, когда пользователь выполняет определенное действие. – Steven

0

Прежде всего, wordpress является CMS, а не каркасом.

Во-вторых, когда пользователь выполняет действие, которое вы хотите зарегистрировать, просто вызовите функцию, созданную для этой цели, которая сохраняет действие в txt/xml/database. Требуется несколько звонков, а не много.

+0

Я знаю, что это CMS, но в моей терминологии это основа для моего предлога. – Steven

Смежные вопросы