blast/application

This package is abandoned and no longer maintained. The author suggests using the hawkbit/hawkbit package instead.

The framework agnostic application life-cycle

v1.0 2015-11-06 09:05 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:52:38 UTC


README

Latest Version on Packagist Software License Build Status Total Downloads Coverage Status

The goal of Blast application is to deliver a framework agnostic application life-cycle having regard on modern standards.

PSR-0, PSR-1, PSR-2, PSR-3, PSR-4, PSR-7, PSR-11 (Container-interop) are supported standards.

Install

Via Composer

$ composer require blast/application

Usage

Lets build our first base application.

The foundation

<?php

use Blast\Application\Kernel\Foundation as Application

$application = new Application();

Configuration

Our application foundation has been set, now we are able to set our config.

Application configuration is an Array and just need to passed to our config.

We could pass directly:

<?php

$application->setConfig([
  'name' => 'base application'
]);

Or receive config data from anywhere

<?php

//should return an array!
$config = require_once __DIR__ . '/config.php';
$application->setConfig($config);

You are free to choose how to pass configuration. You could also use packages like

Container

Modern application needs to decouple complexity. That means we want to manage services and inject them automatically. Blast application is following the standard of container-interop/container-interop.

We use league/container for example.

<?php

use League\Container;

$application->setContainer(new Container());

Here is an list of container-interop implementations.

Dispatching

Our application is dispatching an added strategy with an PSR-7 request and response. Within this strategy you could define your own logic.

For example we use wellrested/wellrested for our PSR-7 implementation.

<?php

use WellRESTed\Message\Response;
use WellRESTed\Message\ServerRequest;
use Acme\Strategy;

$application->setStrategy(new Strategy);
$application->dispatch(ServerRequest::getServerRequest(), new Response);

Their are more PSR-7 compatible packages available on packagist or the following:

  • symfony/http-foundation with symfony/psr-http-message-bridge

Change log

Please see CHANGELOG for more information what has changed recently.

Testing

$ composer test

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email :author_email instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.