PHPackages                             pmieleszkiewicz/chevrotain - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. pmieleszkiewicz/chevrotain

ActiveLibrary

pmieleszkiewicz/chevrotain
==========================

Simple PSR-11 dependency injection container

v1.0.0(5y ago)08MITPHPPHP ^7.3|^8.0

Since Dec 21Pushed 5y ago1 watchersCompare

[ Source](https://github.com/pmieleszkiewicz/chevrotain)[ Packagist](https://packagist.org/packages/pmieleszkiewicz/chevrotain)[ RSS](/packages/pmieleszkiewicz-chevrotain/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (2)Versions (2)Used By (0)

Chevrotain
==========

[](#chevrotain)

It's just a simple implementation of [PSR-11](https://www.php-fig.org/psr/psr-11/) compatibile dependency injection container with autowiring.

Installation
------------

[](#installation)

```
composer require pmieleszkiewicz/chevrotain
```

Usage
-----

[](#usage)

```
// LoggerInterface.php
interface LoggerInterface
{
    public function log(string $message);
}

// EchoLogger.php
class EchoLogger implements LoggerInterface
{
    public function log(string $message)
    {
        echo $message;
    }
}

// UserService.php
class UserService
{
    /**
     * @var LoggerInterface
     */
    private $logger;

    public function __construct(LoggerInterface $logger)
    {
        $this->logger = $logger;
    }

    public function log(string $message)
    {
        $this->logger->log(sprintf("[%s] %s", date('Y-m-d H:i:s'), $message));
    }
}
```

```
