This is a basic Lumen service provider for the Contentful PHP SDK. Version 1.x of this library is compatible with version 2.x of the SDK, while version 2.x of this library is compatible with version 3.x of the SDK. Starting from version 4.x the library version follows the SDK version, so version 4.x of this library is compatible with version 4.x of the SDK.
- PHP >= 7.0
- Lumen 5.x
Install the library:
composer require nordsoftware/lumen-contentful
Register the service provider:
$app->register(Nord\Lumen\Contentful\ContentfulServiceProvider::class);
Finally, copy config/contentful.php
to your application's config/
directory, then define the environment variables
in your .env
file. Certain more esoteric options cannot be configured through the configuration file, see the Usage
section for more information.
Inject Nord\Lumen\Contentful\ContentfulServiceContract
into your classes, then you'll be able to access the
Contentful client by using the getClient()
method:
<?php
use Nord\Lumen\Contentful\ContentfulServiceContract;
class TestService
{
public function __construct(ContentfulServiceContract $contentfulService)
{
$client = $contentfulService->getClient();
}
}
The Contentful SDK client takes a ClientOption
parameter that controls various behavior such as which API to use,
caching and so on. If you need to deviate from the default options you will have to extend ContentfulServiceProvider
and override the createClientOptions
method. Make sure to also register your custom service provider instead of the
one from the library.
If you need need to use a custom client completely, override createClient
.