本文整理汇总了PHP中UrlHelper::getDocumentIdFromLocation方法的典型用法代码示例。如果您正苦于以下问题:PHP UrlHelper::getDocumentIdFromLocation方法的具体用法?PHP UrlHelper::getDocumentIdFromLocation怎么用?PHP UrlHelper::getDocumentIdFromLocation使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UrlHelper
的用法示例。
在下文中一共展示了UrlHelper::getDocumentIdFromLocation方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: save
/**
* save a document to a collection
*
* This will add the document to the collection and return the document's id
*
* This will throw if the document cannot be saved
*
* @throws Exception
*
* @param mixed $collectionId - collection id as string or number
* @param mixed $document - the document to be added, can be passed as a document or an array
* @param bool|array $options - optional, prior to v1.2.0 this was a boolean value for create. Since v1.0.0 it's an array of options.
* <p>Options are :<br>
* <li>'create' - create the collection if it does not yet exist.</li>
* <li>'waitForSync' - if set to true, then all removal operations will instantly be synchronised to disk / If this is not specified, then the collection's default sync behavior will be applied.</li>
* </p>
*
* @return mixed - id of document created
* @since 1.0
*/
public function save($collectionId, $document, $options = array())
{
// This preserves compatibility for the old create parameter.
$params = array(self::OPTION_COLLECTION => $collectionId);
$params = $this->validateAndIncludeOldSingleParameterInParams($options, $params, ConnectionOptions::OPTION_CREATE);
$params = $this->includeOptionsInParams($options, $params, array(ConnectionOptions::OPTION_WAIT_SYNC => $this->getConnectionOption(ConnectionOptions::OPTION_WAIT_SYNC)));
if (is_array($document)) {
$document = Document::createFromArray($document);
}
$data = $document->getAll();
$url = UrlHelper::appendParamsUrl(Urls::URL_DOCUMENT, $params);
$response = $this->getConnection()->post($url, $this->json_encode_wrapper($data));
$location = $response->getLocationHeader();
if (!$location) {
throw new ClientException('Did not find location header in server response');
}
$json = $response->getJson();
$id = UrlHelper::getDocumentIdFromLocation($location);
$document->setInternalId($json[Document::ENTRY_ID]);
$document->setRevision($json[Document::ENTRY_REV]);
if ($id != $document->getId()) {
throw new ClientException('Got an invalid response from the server');
}
$document->setIsNew(false);
return $document->getId();
}
示例2: getAllIds
/**
* Get the list of all documents' ids from a collection
*
* This will throw if the list cannot be fetched from the server
*
* @throws Exception
*
* @param mixed $collectionId - collection id as string or number
*
* @return array - ids of documents in the collection
*/
public function getAllIds($collectionId)
{
$url = UrlHelper::appendParamsUrl(Urls::URL_DOCUMENT, array(self::OPTION_COLLECTION => $collectionId));
$response = $this->getConnection()->get($url);
$data = $response->getJson();
if (!isset($data[self::ENTRY_DOCUMENTS])) {
throw new ClientException('Got an invalid document list from the server');
}
$ids = array();
foreach ($data[self::ENTRY_DOCUMENTS] as $location) {
$ids[] = UrlHelper::getDocumentIdFromLocation($location);
}
return $ids;
}
示例3: saveEdge
/**
* save an edge to an edge-collection
*
* This will save the edge to the collection and return the edges-document's id
*
* This will throw if the document cannot be saved
*
* @throws Exception
*
* @param mixed $collectionId - collection id as string or number
* @param mixed $from - from vertex
* @param mixed $to - to vertex
* @param mixed $document - the edge-document to be added, can be passed as an object or an array
* @param bool|array $options - optional, prior to v1.2.0 this was a boolean value for create. Since v1.0.0 it's an array of options.
* <p>Options are :<br>
* <li>'create' - create the collection if it does not yet exist.</li>
* <li>'waitForSync' - if set to true, then all removal operations will instantly be synchronised to disk.<br>
* If this is not specified, then the collection's default sync behavior will be applied.</li>
* </p>
*
* @return mixed - id of document created
* @since 1.0
*/
public function saveEdge($collectionId, $from, $to, $document, $options = array())
{
if ($collectionId instanceof Collection) {
$collectionId = $collectionId->getName();
}
if (is_array($document)) {
$document = Edge::createFromArray($document);
}
$document->setFrom($from);
$document->setTo($to);
$params = array(self::OPTION_COLLECTION => $collectionId, self::OPTION_FROM => $document->getFrom(), self::OPTION_TO => $document->getTo());
$params = $this->validateAndIncludeOldSingleParameterInParams($options, $params, ConnectionOptions::OPTION_CREATE);
$params = $this->includeOptionsInParams($options, $params, array(ConnectionOptions::OPTION_WAIT_SYNC => $this->getConnectionOption(ConnectionOptions::OPTION_WAIT_SYNC)));
$data = $document->getAll();
$url = UrlHelper::appendParamsUrl(Urls::URL_EDGE, $params);
$response = $this->getConnection()->post($url, $this->json_encode_wrapper($data));
$location = $response->getLocationHeader();
if (!$location) {
throw new ClientException('Did not find location header in server response');
}
$json = $response->getJson();
$id = UrlHelper::getDocumentIdFromLocation($location);
$document->setInternalId($json[Edge::ENTRY_ID]);
$document->setRevision($json[Edge::ENTRY_REV]);
if ($id != $document->getId()) {
throw new ClientException('Got an invalid response from the server');
}
$document->setIsNew(false);
return $document->getId();
}