【问题标题】:Accessing objects uniformly统一访问对象
【发布时间】:2011-04-22 21:22:35
【问题描述】:

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

【问题讨论】:

    标签: php neo4j


    【解决方案1】:

    如果我理解正确的话,您希望有一种统一的方式来对一组不同类型的对象执行通用操作吗?

    要在 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();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多