php語言

當前位置 /首頁/計算機/php語言/列表

構建基於PHP的微部落格服務

構建基於PHP的微部落格服務
  學習猶如逆水行舟,不進則退。下面是小編整理的構建基於PHP的微部落格服務,希望對大家有用,更多訊息請關注應屆畢業生網。  新增其他使用者新增貼子  要將其他使用者的貼子新增到一個使用者的時間表(timeline)上,只需重用之前編寫的一些程式碼。例如,現在已經知道如何獲得當前使用者正在追隨的使用者的列表。也知道如何獲得某個使用者發出的所有貼子。因此只需稍微修改後一個函式,使之能夠接受一個使用者列表,而不是單個使用者。  現在只需在 檔案中將第一個函式上移一點,以便馬上使用它,然後使用通過該函式獲得的使用者 ID 列表,從他們的時間表中獲取一定數量的貼子 — 這裡不需要所有的貼子,只需 5 個左右。記住,要按日期倒序(最近的在上)排列那些使用者的貼子。  首先,為 show_posts() 函式增加一個 limit 引數,將它的值預設為 0。如果 limit 大於 0,則將一個限制值新增到用於檢索貼子的 SQL 語句中。另外要做的是將 $userid 引數放入到一個數組中,並將該陣列解析到一個以逗號分隔的欄位中,最後將該欄位傳遞給 SQL 語句。這需要做一點額外工作,但是可以獲得豐厚的回報,因為如您所見,所有貼子都將以倒序顯示。  清單 18. 更新 show_posts(),以接受一個使用者陣列  ?  function show_posts($userid,$limit=0){  $posts = array();  $user_string = implode(',', $userid);  $extra = " and id in ($user_string)";  if ($limit > 0){  $extra = "limit $limit";  }else{  $extra = '';  }  $sql = "select user_id,body, stamp from posts  where user_id in ($user_string)  order by stamp desc $extra";  echo $sql;  $result = mysql_query($sql);  while($data = mysql_fetch_object($result)){  $posts[] = array( 'stamp' => $data->stamp,  'userid' => $data->user_id,  'body' => $data->body  );  }  return $posts;  }  現在回到 檔案,將不止一個使用者 ID 傳遞給 show_posts(),如下面的`清單所示。這其實很簡單,因為已經收集到了這些使用者。現在只需使用 array_keys() 取出鍵值,將會話變數加到陣列中。這樣,傳遞的陣列最少包含一個值(已登入的當前使用者的 ID),最多則包含當前使用者 ID 和該使用者追隨的每個使用者的 ID。  清單 19. 將一個使用者陣列傳遞給 show_posts() 函式  $users = show_users(新增其他使用者?貼子  要將其他使用者的貼子新增到一個使用者的時間表(timeline)上,只需重用之前編寫的一些程式碼。例如,現在已經知道如何獲得當前使用者正在追隨的使用者的列表。也知道如何獲得某個使用者發出的所有貼子。因此只需稍微修改後一個函式,使之能夠接受一個使用者列表,而不是單個使用者。  現在只需在 檔案中將第一個函式上移一點,以便馬上使用它,然後使用通過該函式獲得的使用者 ID 列表,從他們的時間表中獲取一定數量的貼子 — 這裡不需要所有的貼子,只需 5 個左右。記住,要按日期倒序(最近的在上)排列那些使用者的貼子。  首先,為 show_posts() 函式增加一個 limit 引數,將它的值預設為 0。如果 limit 大於 0,則將一個限制值新增到用於檢索貼子的 SQL 語句中。另外要做的是將 $userid 引數放入到一個數組中,並將該陣列解析到一個以逗號分隔的欄位中,最後將該欄位傳遞給 SQL 語句。這需要做一點額外工作,但是可以獲得豐厚的回報,因為如您所見,所有貼子都將以倒序顯示。  結束語  在本文中,您學習瞭如何構建一個簡單的基於 PHP 的微部落格服務,該服務類似於 Twitter 和 Facebook 狀態更新工具。如果一切順利的話,您就可以得到現在這樣的成果,並將它新增到您的應用程式中,並根據需要加以定製。
TAG標籤:部落格 構建 PHP 服務 #