library container
        A simple Container implementation (copied from symfony)
    
            
                
                    
                    
                    
                    
                        
                            
    
        
        
            lackovic10/container
            A simple Container implementation (copied from symfony)
         
     
    
        
            -  Saturday, January 27, 2018
 
                                -  by lackovic10
 
                            -  Repository
 
            -  0 Watchers
 
            -  0 Stars
 
            -  1 Installations
 
        
     
    
        
            
            -  0 Dependents
 
            -  0 Suggesters
 
            -  0 Forks
 
            -  0 Open issues
 
            -  2 Versions
 
            -  0 % Grown
 
        
     
 
    
        
            
    
    
    
A simple Container implementation
The idea is copied from symfony.
It's a simplification for the above mentioned implementation, the services need to be added manually to the class., (*1)
A usage example
<?php
namespace Container;
final class SampleContainer extends AbstractContainer
{
    protected $services = [
        'repository.user' => null,
        'manager.redis_cache' => null,
    ];
    protected function getRepository_UserService(
        string $id, bool $newInstance
    ): \SampleProject\Repository\UserRepository {
        if ($newInstance || ! $this->services[$id]) {
            $this->services[$id] = new \SampleProject\Repository\UserRepository(
                $this->getService('manager.redis_cache', [], $newInstance)
            );
        }
        return $this->services[$id];
    }
    protected function getManager_RedisCacheService(
        string $id, bool $newInstance
    ): \SampleProject\Manager\RedisCacheManager {
        if ($newInstance || ! $this->services[$id]) {
            $this->services[$id] = new \SampleProject\Manager\RedisCacheManager();
        }
        return $this->services[$id];
    }
}