2011-12-29 11 views
0

私はアプリケーションに通知システムのようなFacebookを実装しています。 私の通知表は、私は通知でどのように動作するかを、次のフィールドfacebookのような通知 - URLフィールドには何がありますか?

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から別の明日にユーザー名を変更するとどうなりますか? フロントエンド(私はPHPを使用しています)またはバックエンド(データベースの列自体)のいずれかで目的のURLを処理するにはちょっとだけ助けてください

答えて

0

ユーザーが自分の名前を変更しても道:-))、彼のIDは同じままになるでしょう。

したがって、すべてのタイプの通知では、オブジェクトを一意に識別する属性を見つけ、不変(ほとんどの場合はID)であり、URLを作成するために使用します。

+0

まったく同じことをしています。私は、そのユニークなオブジェクトIDを格納するためのフィールドとしてobject_idを使用します(投稿またはコメントの場合); –

0

facebookが.htaccessを使ってこれらの変数をPHPファイルに渡すとします。実際にはget.php?user = thomas & post_id = 123456を呼び出しています。だからあなたはURLフィールドを持っていないだろうが、その代わりに投稿をuser_idとpost_idに関連付ける。ユーザー名 "thomas"はuser_idを取得するためにユーザーテーブルで検索することができます。したがって、ユーザーが名前を変更しても、同じ一意のuser_idが保持されます。したがって、あなたがURLを表示したければ、このデータからURLを生成します。

+0

thnx。私がobject_idとobject_typeを使うことを決めたほんの少し前です。 Object_idは任意のIDです(例:post_id、comment_idなど)。object_typeを使用すると、サーバー側でURLの書式を設定できます。 thnx mate :) –

関連する問題