ArangoDB-PHP-Core API Documentation
  • Namespace
  • Class
  • Deprecated

Namespaces

  • frankmayer
    • ArangoDbPhpCore
      • Api
        • Rest
      • Config
      • Connectors
      • Plugins
      • Protocols
        • Http
      • TraitRepository

Classes

  • frankmayer\ArangoDbPhpCore\Api\Rest\Api
  • frankmayer\ArangoDbPhpCore\Api\Rest\Async
  • frankmayer\ArangoDbPhpCore\Api\Rest\Batch
  • frankmayer\ArangoDbPhpCore\Api\Rest\Collection
  • frankmayer\ArangoDbPhpCore\Api\Rest\Database
  • frankmayer\ArangoDbPhpCore\Api\Rest\Document
  • frankmayer\ArangoDbPhpCore\Api\Rest\DocumentBase
  • frankmayer\ArangoDbPhpCore\Api\Rest\Edge
  • frankmayer\ArangoDbPhpCore\Autoloader
  • frankmayer\ArangoDbPhpCore\Client
  • frankmayer\ArangoDbPhpCore\ClientOptions
  • frankmayer\ArangoDbPhpCore\Config\ConnectionOptions
  • frankmayer\ArangoDbPhpCore\Config\DefaultValues
  • frankmayer\ArangoDbPhpCore\Config\Endpoint
  • frankmayer\ArangoDbPhpCore\Config\UpdatePolicy
  • frankmayer\ArangoDbPhpCore\Connectors\AbstractHttpConnector
  • frankmayer\ArangoDbPhpCore\Plugins\Plugin
  • frankmayer\ArangoDbPhpCore\Plugins\PluginManager
  • frankmayer\ArangoDbPhpCore\Plugins\TestPlugin
  • frankmayer\ArangoDbPhpCore\Plugins\TracerPlugin
  • frankmayer\ArangoDbPhpCore\Protocols\Http\AbstractHttpRequest
  • frankmayer\ArangoDbPhpCore\Protocols\Http\HttpRequest
  • frankmayer\ArangoDbPhpCore\Protocols\Http\HttpResponse

Interfaces

  • frankmayer\ArangoDbPhpCore\Api\ApiInterface
  • frankmayer\ArangoDbPhpCore\Api\RestApiInterface
  • frankmayer\ArangoDbPhpCore\ClientInterface
  • frankmayer\ArangoDbPhpCore\ConnectorInterface
  • frankmayer\ArangoDbPhpCore\Plugins\PluginInterface
  • frankmayer\ArangoDbPhpCore\Protocols\Http\HttpConnectorInterface
  • frankmayer\ArangoDbPhpCore\Protocols\Http\HttpRequestInterface
  • frankmayer\ArangoDbPhpCore\Protocols\Http\HttpResponseInterface
  • frankmayer\ArangoDbPhpCore\Protocols\RequestInterface
  • frankmayer\ArangoDbPhpCore\Protocols\ResponseInterface

Traits

  • frankmayer\ArangoDbPhpCore\Api\Rest\DocumentTrait
  • frankmayer\ArangoDbPhpCore\Api\Rest\EdgeTrait
  • frankmayer\ArangoDbPhpCore\TraitRepository\ClientLogger

Exceptions

  • frankmayer\ArangoDbPhpCore\ClientException
  • frankmayer\ArangoDbPhpCore\ConnectionException
  • frankmayer\ArangoDbPhpCore\Exception
  • frankmayer\ArangoDbPhpCore\ServerException
  1 <?php
  2 /**
  3  * File: DocumentBase.php
  4  *
  5  * @author    Frank Mayer
  6  * @copyright Copyright 2013-2015, FRANKMAYER.NET, Athens, Greece
  7  */
  8 
  9 namespace frankmayer\ArangoDbPhpCore\Api\Rest;
 10 
 11 use frankmayer\ArangoDbPhpCore\Protocols\Http\AbstractHttpRequest;
 12 
 13 
 14 /**
 15  * Class DocumentBase
 16  *
 17  * @package frankmayer\ArangoDbPhpCore\Api\Rest
 18  */
 19 class DocumentBase extends Api
 20 {
 21     /**
 22      *
 23      */
 24     const API_PATH = '/_api/document';
 25 
 26     /**
 27      * @param string $handle
 28      * @param string $body
 29      * @param array  $urlQuery
 30      * @param array  $options
 31      *
 32      * @return \frankmayer\ArangoDbPhpCore\Protocols\Http\HttpResponse
 33      */
 34     public function replace(
 35         $handle,
 36         $body,
 37         $urlQuery = [],
 38         $options = []
 39     ) {
 40         /** @var AbstractHttpRequest $request */
 41         $request          = $this->getRequest();
 42         $request->options = $options;
 43         $request->body    = $body;
 44 
 45         if (is_array($request->body)) {
 46             $request->body = json_encode($request->body);
 47         }
 48 
 49         $request->path = $this->client->fullDatabasePath . static::API_PATH . '/' . $handle;
 50 
 51         $urlQuery = $request->buildUrlQuery($urlQuery);
 52 
 53         $request->path .= $urlQuery;
 54 
 55         $request->method = static::METHOD_PUT;
 56 
 57         return $this->getReturnObject($request);
 58     }
 59 
 60     /**
 61      * @param string $handle
 62      * @param string $body
 63      * @param array  $urlQuery
 64      * @param array  $options
 65      *
 66      * @return \frankmayer\ArangoDbPhpCore\Protocols\Http\HttpResponse
 67      */
 68     public function update(
 69         $handle,
 70         $body,
 71         $urlQuery = [],
 72         $options = []
 73     ) {
 74         /** @var AbstractHttpRequest $request */
 75         $request          = $this->getRequest();
 76         $request->options = $options;
 77         $request->body    = $body;
 78 
 79         if (is_array($request->body)) {
 80             $request->body = json_encode($request->body);
 81         }
 82 
 83         $request->path = $this->client->fullDatabasePath . static::API_PATH . '/' . $handle;
 84 
 85         $urlQuery = $request->buildUrlQuery($urlQuery);
 86 
 87         $request->path .= $urlQuery;
 88 
 89         $request->method = static::METHOD_PATCH;
 90 
 91         return $this->getReturnObject($request);
 92     }
 93 
 94 
 95     /**
 96      * @param string $collection
 97      * @param array  $options
 98      *
 99      * @return \frankmayer\ArangoDbPhpCore\Protocols\Http\HttpResponse
100      */
101     public function getAll(
102         $collection,
103         $options = []
104     ) {
105         /** @var AbstractHttpRequest $request */
106         $request          = $this->getRequest();
107         $request->options = $options;
108         $request->path    = $this->client->fullDatabasePath . static::API_PATH;
109         $request->path .= '?collection=' . $collection;
110         $request->method = static::METHOD_GET;
111 
112         return $this->getReturnObject($request);
113     }
114 
115 
116     /**
117      * @param string $handle The document handle of the document we want to get. Example: MyCollection/22334
118      * @param array  $options
119      *
120      * @return \frankmayer\ArangoDbPhpCore\Protocols\Http\HttpResponse
121      */
122     public function get(
123         $handle,
124         $options = []
125     ) {
126         /** @var AbstractHttpRequest $request */
127         $request          = $this->getRequest();
128         $request->options = $options;
129         $request->path    = $this->client->fullDatabasePath . static::API_PATH . '/' . $handle;
130         $request->method  = static::METHOD_GET;
131 
132         return $this->getReturnObject($request);
133     }
134 
135 
136     /**
137      * @param string $handle The document handle of the document we want to get. Example: MyCollection/22334
138      * @param array  $options
139      *
140      * @return \frankmayer\ArangoDbPhpCore\Protocols\Http\HttpResponse
141      */
142     public function getHeader(
143         $handle,
144         $options = []
145     ) {
146         /** @var AbstractHttpRequest $request */
147         $request          = $this->getRequest();
148         $request->options = $options;
149         $request->path    = $this->client->fullDatabasePath . static::API_PATH . '/' . $handle;
150         $request->method  = static::METHOD_HEAD;
151 
152         return $this->getReturnObject($request);
153     }
154 
155     /**
156      * @param string $handle
157      * @param array  $options
158      *
159      * @return \frankmayer\ArangoDbPhpCore\Protocols\Http\HttpResponse
160      */
161     public function delete(
162         $handle,
163         $options = []
164     ) {
165         /** @var AbstractHttpRequest $request */
166         $request          = $this->getRequest();
167         $request->options = $options;
168         $request->path    = $this->client->fullDatabasePath . static::API_PATH . '/' . $handle;
169         $request->method  = static::METHOD_DELETE;
170 
171         return $this->getReturnObject($request);
172     }
173 }
174 
ArangoDB-PHP-Core API Documentation API documentation generated by ApiGen