/** * @param Node $node * @param Repository $repository * @param callable $loadCallback * @return mixed */ function fromNode(Node $node, Repository $repository, \Closure $loadCallback) { $class = $node->getProperty('class'); $meta = $repository->fromClass($class); $proxyClass = $meta->getProxyClass(); $proxy = $this->createProxy($meta); $proxy->__setMeta($meta); $proxy->__setNode($node); $proxy->__setLoadCallback($loadCallback); $pk = $meta->getPrimaryKey(); $pk->setValue($proxy, $node->getId()); $proxy->__addHydrated($pk->getName()); foreach ($meta->getProperties() as $property) { $name = $property->getName(); if (null !== ($value = $node->getProperty($name))) { $property->setValue($proxy, $value); $proxy->__addHydrated($name); } } foreach ($meta->getManyToManyRelations() as $property) { if ($property->isWriteOnly()) { $proxy->__addHydrated($property->getName()); } } return $proxy; }
public static function fromArray(Node $node) { $tag = new Tag(); $tag->id = $node->getId(); $tag->tagcontent = $node->getProperty('tagcontent'); $tag->node = $node; return $user; }
/** * Create User object from Node * * @param Node $node User node * @return User */ protected static function fromNode(Node $node) { $user = new User(); $user->id = $node->getId(); $user->username = $node->getProperty('username'); $user->firstname = $node->getProperty('firstname'); $user->lastname = $node->getProperty('lastname'); $user->node = $node; return $user; }
/** * Creates Content instance from a content node * * @param Node $node Content node * @param string $username Username for post * @param string $owner Content owner * @return Content */ protected static function createFromNode(Node $node, $username = null, $owner = false) { $content = new Content(); $content->node = $node; $content->nodeId = $node->getId(); $content->contentId = $node->getProperty('contentId'); $content->title = $node->getProperty('title'); $content->url = $node->getProperty('url'); $content->tagstr = $node->getProperty('tagstr'); $content->timestamp = gmdate("F j, Y g:i a", $node->getProperty('timestamp')); $content->owner = $owner; $content->userNameForPost = $username; return $content; }