PHP code example of lotos / container

1. Go to this page and download the library: Download lotos/container library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

lotos / container example snippets


$collection = CollectionFactory::createCollection();
$repository = RepositoryFactory::createRepository($collection->newInstance());

$container = ContainerFactory::createContainer(
    repository: $repository,
    builder: BuilderFactory::createBuilder(
        repository: $repository,
        collection: $collection
    )
);

$container->saveClass(Lotos\Http\ServerRequestFactory::class)
    ->forInterface(Psr\Http\Message\ServerRequestFactoryInterface::class)
    ->withAlias('serverRequestFactory');

$container->saveClass(Lotos\Http\Strategies\JsonStrategy::class)
    ->forInterface(Lotos\Http\StrategyInterface::class)
    ->withPriority(1)
    ->withAlias('jsonStrategy');

$container->saveClass(Lotos\Http\Strategies\HtmlStrategy::class)
    ->forInterface(Lotos\Http\StrategyInterface::class)
    ->withAlias('htmlStrategy');

$router = $container->get('router');

$container->saveClass(Lotos\Http\ServerRequest\ServerRequest::class)
    ->forInterface(Psr\Http\Message\ServerRequestInterface::class)
    ->setInstance(
        $container->call('serverRequestFactory', 'fromGlobals')
    );

class Example
{
    /**
     * @var Psr\Http\Message\RequestInterface
     * */
    private RequestInterface $request;
}


use Psr\Http\Message\{
    RequestInterface,
    ResponseInterface,
    ResponseFactoryInterface
};

class User
{
    public function __construct(
        private ResponseFactoryInterface $responseFactory
    )
    {}

    public function create(RequestInterface $request) : ResponseInterface
    {
        //...
    }

}