theplanworks / directus-laravel
A Package to integrate Laravel 5.4 and the Directus API
Installs: 862
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 2
Forks: 1
Open Issues: 0
pkg:composer/theplanworks/directus-laravel
Requires
- guzzlehttp/guzzle: ^6.2
Requires (Dev)
- orchestra/testbench: ~3.0
- phpunit/phpunit: ~5.7
This package is not auto-updated.
Last update: 2025-10-26 02:22:36 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.