alejandroherr/subdomainmap

Middleware to map the kernels depending on the subdomain

v1.0 2014-06-09 16:06 UTC

README

#SubdomainMap

Build Status

Middleware to map the kernels depending on the subdomain.

Heavily inspired in URL Map Stack Middleware.

##HOW TO ###Installation Via composer.json:

{
    "require": {
        "alejandroherr/subdomainmap": "dev-master"
    }
}

###Example using Silex Application

<?php
$loader = require ROOT . "/vendor/autoload.php";

use Silex\Application;
use Symfony\Component\HttpFoundation\Request;

$app=new Application();
$app->get('/', function () use ($app) {
    return 'Main app';
});

$appA=new Application();
$appA->get('/', function () use ($appA) {
    return 'appA';
});
$appB=new Application();
$appB->get('/', function () use ($appB) {
    return 'appB';
});

$map = array(
    'appa' => $appA,
    'appb' => $appB
);

$app = new AlejandroHerr\Stack\SubdomainMap($app,$map);

$request = Request::createFromGlobals();
$response = $app->handle($request);
$response->send();

##Recommendations When working with large apps/HttpKernelsInterfaces, try the LazyHttpKernel

####Example

<?php
$loader = require ROOT . "/vendor/autoload.php";

use Silex\Application;
use Stack\lazy;
use Symfony\Component\HttpFoundation\Request;

$app=new Application();
$app->get('/', function () use ($app) {
    return 'Nothing here';
});

$appA=new Application();
$appA->get('/', function () use ($appA) {
    return 'I am appA';
});
$appA = lazy(function () use ($appA) {
    return $appA;
});

$app = new AlejandroHerr\Stack\SubdomainMap(
    $app,
    array('appa' => $appA)
);

$request = Request::createFromGlobals();
$response = $app->handle($request);
$response->send();