Skip to content

Latest commit

 

History

History
46 lines (30 loc) · 1.63 KB

File metadata and controls

46 lines (30 loc) · 1.63 KB

AcceptLanguageMiddlewareFactory

Creates an AcceptLanguageMiddleware (PSR-15 middleware). It resolves its negotiator from the container under the id AcceptLanguageNegotiatorInterface::class (suffixed with the factory name, if any), so register a negotiator, for example via AcceptLanguageNegotiatorFactory, under that id first.

The factory can be used unnamed (default) or with a name. A name is appended to every container id the factory reads, which lets you register several independent instances side by side.

without name (default)

<?php

use Chubbyphp\Negotiation\AcceptLanguageNegotiatorInterface;
use Chubbyphp\Negotiation\Middleware\AcceptLanguageMiddleware;
use Chubbyphp\Negotiation\ServiceFactory\AcceptLanguageMiddlewareFactory;
use Psr\Container\ContainerInterface;

/** @var ContainerInterface $container */
$container = ...;

// requires: $container->get(AcceptLanguageNegotiatorInterface::class)

$factory = new AcceptLanguageMiddlewareFactory();

$acceptLanguageMiddleware = $factory($container); // AcceptLanguageMiddleware

with name default

<?php

use Chubbyphp\Negotiation\AcceptLanguageNegotiatorInterface;
use Chubbyphp\Negotiation\Middleware\AcceptLanguageMiddleware;
use Chubbyphp\Negotiation\ServiceFactory\AcceptLanguageMiddlewareFactory;
use Psr\Container\ContainerInterface;

/** @var ContainerInterface $container */
$container = ...;

// requires: $container->get(AcceptLanguageNegotiatorInterface::class.'default')

$factory = [AcceptLanguageMiddlewareFactory::class, 'default'];

$acceptLanguageMiddleware = $factory($container); // AcceptLanguageMiddleware