Уведомления, такие как Facebook - что в поле URL? - PullRequest
0 голосов
/ 29 декабря 2011

В моем приложении реализована система уведомлений, аналогичная Facebook. Моя таблица уведомлений содержит следующие поля

source_id (User_id)
Type (ENUM - type of notification, eg: like,comment,new post, etc)
description (some description)
URL (the destination URL)
created_on 

Решено, как я буду работать с уведомлениями. Но я думаю, Что именно здесь будет содержать столбец URL? Если я добавлю абсолютный URL для поста типа

http://facebook.com/thomas/posts/123456

Не будет ли это проблемой? Что если пользователь изменит свое имя пользователя с thomas на что-то другое завтра? Просто нужна помощь в том, как я могу работать с целевым URL, либо на веб-интерфейсе (я использую PHP), либо на бэкэнде (в самом столбце базы данных)

Ответы [ 2 ]

0 голосов
/ 29 декабря 2011

Я предполагаю, что facebook использует .htaccess для передачи этих переменных в файл PHP.Так что на самом деле он вызывает get.php? User = thomas & post_id = 123456.Таким образом, у вас не будет поля url, а вместо этого свяжите сообщение с user_id и post_id.Имя пользователя "томас" можно найти в пользовательской таблице, чтобы получить идентификатор_пользователя, поэтому даже если пользователь изменит свое имя, он сохранит тот же уникальный идентификатор_пользователя.Поэтому, если вы хотите отобразить URL, вы должны сгенерировать URL из этих данных.

0 голосов
/ 29 декабря 2011

Даже если пользователь изменит свое имя (кстати, вы не можете этого позволить :-)), его идентификатор, скорее всего, останется прежним.

Итак, для каждого типа уведомлений найдите атрибут, который уникально идентифицирует объект и является неизменным (в большинстве случаев это идентификатор), и используйте его для создания URL-адресов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...