Я делаю систему для регистрации действий пользователей, таких как покупки, которые он сделал, добавленные друзья, среди прочих. Например, когда пользователь покупает некоторые продукты, в вашем профиле должно появиться следующее сообщение:
Фу купил продукты A, B, C, D и F.
Я мог бы сохранить всю строку в базе данных, но на сайте будет более одного языка, что сделает запись для каждого языка ненадежной. Моя идея состоит в том, чтобы иметь строку с шаблоном выполненного действия и передавать ее в функцию sprintf
, однако количество продуктов может измениться, поэтому количество аргументов также может быть. Как мне поступить в этой ситуации?
Редактирование # 1: Мой вопрос не о схеме базы данных, я использую следующую схему: Базы данных: создание журнала действий, как обрабатывать различные ссылки? Вопрос в том, как создать строку для sprintf, которая может получить столько аргументов, сколько необходимо.
Как то так: "%s bought the products [magic here]"