Упрощенный ответ на очень «низком уровне» (в смысле очень простого - и поэтому не проверенного в полевых условиях; p)
таблица user_following
структура может иметь вид:
- followerUserID - pk;userID пользователя, который хочет следовать
followingUserID
- followUserID - pk;userID пользователя, за которым будет следовать
followerUserID
- отметка времени - может использоваться для отслеживания, когда
followerUserID
добавлен followingUserID
, за которым следует его
php код (какупомянуто: ОЧЕНЬ упрощенно)
<?php
// ...
class UserRelation extends User {
/**
* follow userID $userID and tell $userID that someone follows him
*
* @param int $userID
* @return void
**/
public function followUserID($userID) {
// send a message that $this->userID follows $userID
Message::sendFollowUserNotification($this->userID, $userID);
// add to database
$this->setFollowingUser($userID);
}
/**
* adds it to database
*
* @param int $userID
* @return void
**/
private function setFollowingUser($userID) {
// write to database
Database::executeQuery("INSERT INTO user_following(followerUserID, followingUserID) VALUES (". $this->userID .", ". $userID .");
}
}
// ...
?>
Будьте более конкретны, если вам нужна дополнительная помощь - я просто могу показать вам базовый пример.Тема слишком сложна, чтобы ее можно было объяснить за 10 минут.