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  * ArangoDB PHP Core Client: client
  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\Api\RestApiInterface;
 12 use frankmayer\ArangoDbPhpCore\Protocols\Http\AbstractHttpRequest;
 13 
 14 
 15 /**
 16  * Class Collection
 17  *
 18  * @package frankmayer\ArangoDbPhpCore\Api\Rest
 19  */
 20 class Collection extends
 21     Api implements
 22     RestApiInterface
 23 {
 24     /**
 25      *
 26      */
 27     const API_PATH = '/_api/collection';
 28 
 29     /**
 30      * @param string $collectionName       The collection name
 31      * @param array  $collectionParameters Collection parameters according to the HTTP API
 32      * @param array  $options              Other options (not stable yet...)
 33      *
 34      * @return \frankmayer\ArangoDbPhpCore\Protocols\Http\HttpResponse
 35      * @throws \frankmayer\ArangoDbPhpCore\ClientException
 36      */
 37     public function create(
 38         $collectionName,
 39         $collectionParameters = [],
 40         $options = []
 41     ) {
 42         $request = $this->getRequest();
 43 
 44         $request->options = $options;
 45         $request->body    = ['name' => $collectionName];
 46 
 47         $request->body = static::array_merge_recursive_distinct($request->body, $collectionParameters);
 48         $request->body = json_encode($request->body);
 49 
 50         $request->path   = $this->client->fullDatabasePath . static::API_PATH;
 51         $request->method = static::METHOD_POST;
 52 
 53         return $this->getReturnObject($request);
 54     }
 55 
 56 
 57     /**
 58      * @param string $collectionName
 59      * @param array  $options
 60      *
 61      * @return \frankmayer\ArangoDbPhpCore\Protocols\Http\HttpResponse
 62      */
 63     public function drop(
 64         $collectionName,
 65         $options = []
 66     ) {
 67         /** @var AbstractHttpRequest $request */
 68         $request = $this->getRequest();
 69 
 70         $request->options = $options;
 71         $request->path    = $this->client->fullDatabasePath . static::API_PATH . '/' . $collectionName;
 72         $request->method  = static::METHOD_DELETE;
 73 
 74         return $this->getReturnObject($request);
 75     }
 76 
 77 
 78     /**
 79      * @param string $collectionName
 80      * @param array  $options
 81      *
 82      * @return \frankmayer\ArangoDbPhpCore\Protocols\Http\HttpResponse
 83      */
 84     public function truncate(
 85         $collectionName,
 86         $options = []
 87     ) {
 88         /** @var AbstractHttpRequest $request */
 89         $request = $this->getRequest();
 90 
 91         $request->options = $options;
 92 
 93         $request->path   = $this->client->fullDatabasePath . static::API_PATH . '/' . $collectionName . '/truncate';
 94         $request->method = static::METHOD_PUT;
 95 
 96         return $this->getReturnObject($request);
 97     }
 98 
 99 
100     /**
101      * @param array $options
102      *
103      * @return \frankmayer\ArangoDbPhpCore\Protocols\Http\HttpResponse
104      */
105     public function getAll(
106         $options = []
107     ) {
108         /** @var AbstractHttpRequest $request */
109         $request = $this->getRequest();
110 
111         $request->options = $options;
112 
113         $request->path = $this->client->fullDatabasePath . static::API_PATH;
114         if (isset($request->options['excludeSystem']) && $request->options['excludeSystem'] === true) {
115             $request->path .= '?excludeSystem=true';
116         }
117 
118         $request->method = static::METHOD_GET;
119 
120         return $this->getReturnObject($request);
121     }
122 }
123 
ArangoDB-PHP-Core API Documentation API documentation generated by ApiGen