src/RawPHP/RawContainer/Container.php
public function make( $abstract, $parameters = [ ] )
    {
        $abstract = $this->getAlias( $abstract );

        if ( isset( $this->instances[ $abstract ] ) )
        {
            return $this->instances[ $abstract ];
        }

        $concrete = $this->getConcrete( $abstract );

        if ( $this->isBuildable( $concrete, $abstract ) )
        {
            $object = $this->build( $concrete, $parameters );
        }
        else
        {
            $object = $this->make( $concrete, $parameters );
        }

        if ( $this->isShared( $abstract ) )
        {
            $this->instances[ $abstract ] = $object;
        }

        $this->fireResolvingCallbacks( $abstract, $object );

        $this->resolved[ $abstract ] = TRUE;

        return $object;
    }
public function make( $abstract, $parameters = [ ] )
    {
        $abstract = $this->getAlias( $abstract );

        if ( isset( $this->instances[ $abstract ] ) )
        {
            return $this->instances[ $abstract ];
        }

        $concrete = $this->getConcrete( $abstract );

        if ( $this->isBuildable( $concrete, $abstract ) )
        {
            $object = $this->build( $concrete, $parameters );
        }
        else
        {
            $object = $this->make( $concrete, $parameters );
        }

        if ( $this->isShared( $abstract ) )
        {
            $this->instances[ $abstract ] = $object;
        }

        $this->fireResolvingCallbacks( $abstract, $object );

        $this->resolved[ $abstract ] = TRUE;

        return $object;
    }
Resolve the given type from the container.

@param  string $abstract
@param  array  $parameters

@return mixed