theplanworks / directus-laravel
A Package to integrate Laravel 5.4 and the Directus API
Requires
- guzzlehttp/guzzle: ^6.2
Requires (Dev)
- orchestra/testbench: ~3.0
- phpunit/phpunit: ~5.7
This package is not auto-updated.
Last update: 2024-10-26 21:24:20 UTC
README
Directus API Wrapper for Laravel 5
This package allows users to easily consume the REST API provided by the Directus Headless CMS system in any Laravel app.
Installation
Install via composer using the command line:
composer require theplanworks/directus-laravel
In Laravel 5, update the config/app.php
providers array with the Service Provider:
thePLAN\DirectusLaravel\DirectusLaravelServiceProvider::class,
Configuration
By default, the package is set up to use the following configuration values read from your .env
file:
DIRECTUS_CMS_URL
- The base URL of your CMS instance.DIRECTUS_API_KEY
- The key generated by the CMS and associated with a valid user that authenticates requests
If you would like to use a config file, you can publish the default config by running the following command:
php artisan vendor:publish --provider="thePLAN\DirectusLaravel\DirectusLaravelServiceProvider"
This will publish a config file to config/directus-laravel.php
.
Usage
To utilize the API Wrapper, use dependency injection to resolve:
public function __construct(DirectusLaravel $directusAPI) { $this->api = $directusAPI; }
Then you can make the following calls:
getTableRows
$value = $this->api->getTableRows($table);
Where $table
is the name of the Directus table you would like to access.
getTableRow
$value = $this->api->getTableRow($table, $id);
Where $table
is the name of the Directus table you would like to access, and $id
is the unique ID of the record being requested.
getTableRowBySlug
$value = $this->api->getTableRowBySlug($table, $slug)
Where $table
is the name of the Directus table you would like to access, and $slug
is the unique slug property of the record being requested. PREREQUISITE: A slug
field must have been created on the table.
getFile
$this->api->getFile($url);
Where $url
is the file url you would like to return, such as /storage/uploads/00000000001.png
.
License
This package is open-sourced software licensed under the MIT license.