0

这个问题基于 facebook graph api...facebook 能够从单个 URI 访问对象(用户、页面、事件)...(graph.facebook.com/ID)。如何使用和 neo4J 完成此任务?我的计划是将每个节点类型(用户、页面、事件)包装在一个 php 对象中,然后统一访问所有对象....

4

1 回答 1

0

如果我理解正确,您是否希望有一种统一的方式来对一组不同类型的对象执行常见操作?

要在 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();
}
于 2011-04-26T09:59:06.667 回答