2017 © Pedro Peláez
 

project dilex

Silex with enhanced DI

image

clearbooks/dilex

Silex with enhanced DI

  • Thursday, May 12, 2016
  • by craigjbass
  • Repository
  • 23 Watchers
  • 3 Stars
  • 31 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 7 Versions
  • 29 % Grown

The README.md

Dilex

Rationale

Dilex is an extension of Symfony to provide custom ContainerInterop compatibility and a Silex-like interface. You can specify a custom fallback container, which will be used when an entry cannot be resolved by Symfony's container., (*1)

Usage

$environment = 'dev';
$debug = true;
$container = new DependencyInjectionContainer(); // replace with your real DI initialisation code
$application = new \Clearbooks\Dilex\Dilex( $environment, $debug, $container );

Once the application has been instantiated you can create Endpoint classes to be executed for a given API route. Here's a simple example., (*2)

namespace Your\Organisation\Endpoint;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Clearbooks\Dilex\Endpoint;

class ExampleEndpoint implements Endpoint
{
    public function execute( Request $request )
    {
        return new JsonResponse( ['hello' => 'world'] );
    }
}

While the above example has no constructor the main benefit of Dilex is that the endpoint will be instantiated through your DI container of choice, so you can inject dependencies into the constructor of the Endpoint per your DI container documentation., (*3)

You can then associate your Endpoint implementation with an API route using Dilex's get method., (*4)

use Your\Organisation\Endpoint\ExampleEndpoint;
/*
 * Initialisation code above skipped
 */
$application->get( '/', ExampleEndpoint::class );

Credits

stamp_small, (*5)

Disclaimer

THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION., (*6)

The Versions

12/05 2016

dev-master

9999999-dev

Silex with enhanced DI

  Sources   Download

LGPL-V3

The Requires

 

The Development Requires

by Crimson Ducks

12/05 2016

1.0.4

1.0.4.0

Silex with enhanced DI

  Sources   Download

LGPL-V3

The Requires

 

The Development Requires

by Crimson Ducks

27/01 2016

1.0.3

1.0.3.0

Silex with enhanced DI

  Sources   Download

LGPL-V3

The Requires

 

The Development Requires

by Crimson Ducks

23/12 2015

1.0.2

1.0.2.0

Silex with enhanced DI

  Sources   Download

LGPL-V3

The Requires

 

The Development Requires

by Crimson Ducks

23/12 2015

1.0.1

1.0.1.0

Silex with enhanced DI

  Sources   Download

LGPL-V3

The Requires

 

The Development Requires

by Crimson Ducks

24/10 2015

1.0.0.1

1.0.0.1

Silex with enhanced DI

  Sources   Download

LGPL-V3

The Requires

 

The Development Requires

by Crimson Ducks

17/09 2015

1

1.0.0.0

Silex with enhanced DI

  Sources   Download

LGPL-V3

The Requires

 

The Development Requires

by Crimson Ducks