2017 © Pedro Peláez
 

library aurasession-middleware

image

germania-kg/aurasession-middleware

  • Thursday, April 12, 2018
  • by germania-kg
  • Repository
  • 2 Watchers
  • 0 Stars
  • 47 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 3 Open issues
  • 8 Versions
  • 0 % Grown

The README.md

AuraSessionMiddleware

Middleware to inject Aura.Session Segments into PSR-7 ServerRequests., (*1)

Packagist PHP version Build Status Scrutinizer Code Quality Code Coverage Build Status, (*2)

Installation with Composer

$ composer require germania-kg/aurasession-middleware

Usage

<?php
use Germania\AuraSessionMiddleware\AuraSessionSegmentMiddleware;

// Create session and segment, cf. Aura.Session docs
$session_factory = new \Aura\Session\SessionFactory;
$session = $session_factory->newInstance($_COOKIE);
$segment = $session->getSegment('Vendor\Package\ClassName');

// Optional with PSR-3 Logger
$mw = new AuraSessionSegmentMiddleware( $segment );
$mw = new AuraSessionSegmentMiddleware( $segment, $logger );

Inside your routes

<?php
$app = new \Slim\App();
$app->get('/books/{id}', function ($request, $response, $args) {
    // This is your Aura.Session segment
    $session = $request->getAttribute("session");
    ...    
});

Set PSR7 Request attribute name

Per default, the SessionSegment is stored as the PSR7 Request attribute named session. You can set a custom name right after instantiation, i.e. before the middleware is invoked:, (*3)

<?php
$mw = new AuraSessionSegmentMiddleware( $segment );

// "session" per default
echo $mv->getRequestAttributeName( );

// Choose another one...
$mv->setRequestAttributeName( "custom_name" );

// Inside route:
$session = $request->getAttribute("custom_name");

Pimple Service Provider

<?php
use Germania\AuraSessionMiddleware\PimpleServiceProvider;
use Aura\Session\SegmentInterface;
use Psr\Log\LoggerInterface;

// have your Pimple DIC ready, and optionally a PSR3 Logger:
$sp = new PimpleServiceProvider("session", "request_attr");
$sp = new PimpleServiceProvider("session", "request_attr", $psr3_logger);
$sp->register( $dic );

// Grab your services
$yes = $dic['Session'] instanceOf SegmentInterface;
$yes = $dic['Session.Logger'] instanceOf LoggerInterface;
$yes = is_callable( $dic['Session.Middleware'] );

Use with Slim Framework:

<?php
$app = new \Slim\App;
$app->add( $dic['Session.Middleware'] );

Development

$ git clone https://github.com/GermaniaKG/AuraSessionMiddleware.git
$ cd AuraSessionMiddleware
$ composer install

Unit tests

Either copy phpunit.xml.dist to phpunit.xml and adapt to your needs, or leave as is. Run PhpUnit test or composer scripts like this:, (*4)

$ composer test
# or
$ vendor/bin/phpunit

The Versions

12/04 2018

dev-develop

dev-develop

  Sources   Download

MIT

The Requires

 

The Development Requires

by Carsten Witt

middleware callable session aura.session

12/04 2018

dev-master

9999999-dev

  Sources   Download

MIT

The Requires

 

The Development Requires

by Carsten Witt

middleware callable session aura.session

12/04 2018

1.2.0

1.2.0.0

  Sources   Download

MIT

The Requires

 

The Development Requires

by Carsten Witt

middleware callable session aura.session

17/08 2017

1.1.0

1.1.0.0

  Sources   Download

MIT

The Requires

 

The Development Requires

by Carsten Witt

middleware callable session aura.session

20/12 2016

1.0.3

1.0.3.0

  Sources   Download

MIT

The Requires

 

The Development Requires

by Carsten Witt

middleware callable session aura.session

19/12 2016

1.0.2

1.0.2.0

  Sources   Download

MIT

The Requires

 

The Development Requires

by Carsten Witt

middleware callable session aura.session

19/12 2016

1.0.1

1.0.1.0

  Sources   Download

MIT

The Requires

 

The Development Requires

by Carsten Witt

middleware callable session aura.session

09/11 2016

1.0.0

1.0.0.0

  Sources   Download

MIT

The Requires

 

The Development Requires

by Carsten Witt

middleware callable session aura.session