Доступ к объектам равномерно - PullRequest
0 голосов
/ 23 апреля 2011

Этот вопрос основан на графике facebook api ... Facebook может получить доступ к объектам (Пользователь, Страница, Событие) с одного URI ... (graph.facebook.com/ID).Как я могу сделать это с помощью и neo4J?Мой план - обернуть каждый тип узла (Пользователь, Страница, Событие) в объект php, а затем получить доступ ко всем объектам равномерно ....

1 Ответ

0 голосов
/ 26 апреля 2011

Если я вас правильно понимаю, вы хотите иметь единый способ выполнения общих операций над множеством объектов разного типа?

Чтобы сделать это в PHP, я хотел бы сделать две вещи - написать интерфейс, который определяет общие операции, а затем написать прокси-классы, которые, как вы упомянули, обертывают исходные объекты и реализуют интерфейс.

Например, если у вас есть эти классы:

class User {
  public function getId() {
    // Return some id
  }

  // Other user-specific stuff here

}

class Event {
  public function getId() {
    // Return some id
  }

  // Other user-specific stuff here 

}

Вы можете написать интерфейс и два прокси-класса следующим образом:

interface FacebookObject {
  public function getId();
}

class UserProxy implements FacebookObject {
  function __construct($user) {
    $this->user = $user;
  }

  function getId() {
    return $this->user->getId();
  }
}

class EventProxy implements FacebookObject {
  function __construct($event) {
    $this->event = $event;
  }

  function getId() {
    return $this->event->getId();
  }
}

А затем вы можете написать код, который работает на прокси FacebookObject:

function getFacebookId(FacebookObject $obj) {
  return $obj->getId();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...