2011-04-22 3 views
0

Cette question est basée sur le graphe facebook facebook ... facebook est capable d'accéder à des objets (User, Page, Event) depuis un seul URI ... (graph.facebook.com/ID). Comment puis-je accomplir cela en utilisant et neo4J? mon plan est envelopper chaque type de nœud (utilisateur, page, événement) dans un objet php puis accéder uniformément à tous les objets ....Accéder uniformément aux objets

Répondre

0

Si je vous comprends bien, vous voulez avoir une manière uniforme d'effectuer des opérations communes sur un ensemble d'objets de type différent? Pour faire cela en PHP, je ferais deux choses: écrire une interface qui définit les opérations communes, puis écrire des classes de proxy qui, comme vous le mentionnez, enveloppent les objets d'origine et implémentent l'interface.

Par exemple, si vous avez ces classes:

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 

} 

Vous pouvez écrire une interface et deux classes de proxy comme ceci:

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

Et vous pouvez écrire du code qui fonctionne sur le FacebookObject proxy:

function getFacebookId(FacebookObject $obj) { 
    return $obj->getId(); 
} 
+0

Nous vous remercions de votre aide ... – Donald

Questions connexes