theplanworks/directus-laravel

A Package to integrate Laravel 5.4 and the Directus API

1.0.2 2017-03-02 02:22 UTC

This package is not auto-updated.

Last update: 2024-05-11 18:54:12 UTC


README

Latest Stable Version Total Downloads License

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.