src/ContainerAbstract.php
public function add(string $id, $concrete = null, bool $shared = null): DefinitionInterface
    {
        // handle special case when the $id is the interface name and the $concrete the real class.
        // TODO : bout de code à virer si on recherche directement avec le getAlias du definition
        if (is_string($concrete) && class_exists($concrete)) {
            $this->alias($concrete, $id);
        }

        $concrete = $concrete ?? $id;
        $shared = $shared ?? $this->defaultToShared;

        if (! $concrete instanceof DefinitionInterface) {
            $concrete = new Definition($id, $concrete);
        }

        $this->definitions[$id] = $concrete
            ->setAlias($id)
            ->setShared($shared);

        return $concrete;
    }
public function add(string $id, $concrete = null, bool $shared = null): DefinitionInterface
    {
        // handle special case when the $id is the interface name and the $concrete the real class.
        // TODO : bout de code à virer si on recherche directement avec le getAlias du definition
        if (is_string($concrete) && class_exists($concrete)) {
            $this->alias($concrete, $id);
        }

        $concrete = $concrete ?? $id;
        $shared = $shared ?? $this->defaultToShared;

        if (! $concrete instanceof DefinitionInterface) {
            $concrete = new Definition($id, $concrete);
        }

        $this->definitions[$id] = $concrete
            ->setAlias($id)
            ->setShared($shared);

        return $concrete;
    }
public function add ( string $ id , $ concrete = null , bool $ shared = null ) : DefinitionInterface { // handle special case when the $id is the interface name and the $concrete the real class. // TODO : bout de code à virer si on recherche directement avec le getAlias du definition if ( is_string ( $ concrete ) && class_exists ( $ concrete ) ) { $ this -> alias ( $ concrete , $ id ) ; } $ concrete = $ concrete ?? $ id ; $ shared = $ shared ?? $ this -> defaultToShared ; if ( ! $ concrete instanceof DefinitionInterface ) { $ concrete = new Definition ( $ id , $ concrete ) ; } $ this -> definitions [ $ id ] = $ concrete -> setAlias ( $ id ) -> setShared ( $ shared ) ; return $ concrete ; }
Add an item to the container.

@param string $id
@param mixed  $concrete
@param bool   $shared

@return \League\Container\Definition\DefinitionInterface
Add an item to the container .