setono/kraken-io-bundle

Symfony bundle that integrates the kraken.io PHP SDK

Installs: 28 935

Dependents: 1

Suggesters: 0

Security: 0

Stars: 2

Watchers: 3

Forks: 3

Open Issues: 6

Type:symfony-bundle


README

Latest Version Latest Unstable Version Software License Build Status Code Coverage

Integrates the kraken.io PHP SDK into Symfony.

Installation

Step 1: Download the bundle

$ composer require setono/kraken-io-bundle

Step 2: Enable the bundle

Enable the plugin by adding it to the list of registered plugins/bundles in config/bundles.php:

<?php
$bundles = [
    // ...
    
    Setono\KrakenIoBundle\SetonoKrakenIoBundle::class => ['all' => true],
    
    // ...
];

Step 3: Add configuration

# config/packages/setono_kraken_io.yaml
setono_kraken_io:
    api_key: your_api_key
    api_secret: your_api_secret

Usage

Now you can inject the ClientInterface into your service:

<?php
namespace App\Image;

use Setono\Kraken\Client\ClientInterface;

final class Optimizer
{
    private $client;
    
    public function __construct(ClientInterface $client)
    {
        $this->client = $client;
    }
}

With auto wiring this will work out of the box. If you're not using auto wiring you have to inject it in your service definition:

<?xml version="1.0" encoding="UTF-8" ?>

<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
    <services>
        <service id="YourService">
            <argument type="service" id="Setono\Kraken\Client\ClientInterface"/>
        </service>
    </services>
</container>