PHP Classes

PHP Dependency Resolver: Create class objects and others that it needs

Recommend this page to a friend!
  Info   View files Documentation   View files View files (4)   DownloadInstall with Composer Download .zip   Reputation   Support forum   Blog    
Ratings Unique User Downloads Download Rankings
Not enough user ratingsTotal: 82 All time: 9,925 This week: 228Up
Version License PHP version Categories
dependency-resolver 1.0.3GNU General Publi...5.3PHP 5, Language, Design Patterns




This class can create class objects and others that it needs.

It uses reflection to retrieve the information about a class and the parameters that it may need to pass on the constructor function.

If the constructor of the object to be created also needs objects of other classes, this class can also create objects of those other classes and pass them to the current object constructor.

The class may also pass values to the constructor of other types that were previous defined.

Picture of Vinícius Dias
Name: Vinícius Dias <contact>
Classes: 2 packages by
Country: Brazil Brazil
Age: ???
All time rank: 3429261 in Brazil Brazil
Week rank: 503 Up36 in Brazil Brazil Up


Dependency Resolver


This is a simple Dependency Resolver to resolve classes dependencies and instantiate them automagically.


Install the latest version with:

$ composer require cviniciussdias/dependency-resolver


use CViniciusSDias\DependencyResolver\Resolver;

// Classes definitions
class Class1
    private $class2;

    public function __construct(Class2 $class, Class3 $class3)
        echo $class3->method();
        $this->class2 = $class;

    public function test()
        echo $this->class2;

class Class2
    public function __construct(Class3 $test, $param = 'default value')
        echo $param . PHP_EOL;

    public function __toString()
        return 'Class2::__toString()';

class Class3
    public function __construct($paramWithoutDefaulValue)

    public function method()
        return 'Class3::method()' . PHP_EOL;

// Resolver usage
$resolver = new Resolver();
$resolver->setParameters(Class3::class, ['paramWithoutDefaulValue' => 'manual value']);
$class1 = $resolver->resolve(Class1::class);


Vinicius Dias - -


This component is licensed under the GPL License

  Files folder image Files  
File Role Description
Files folder imagesrc (2 files)
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file Doc. Documentation

  Files folder image Files  /  src  
File Role Description
  Plain text file Resolver.php Class Class source
  Plain text file ResolverException.php Class Class source

 Version Control Unique User Downloads Download Rankings  
This week:0
All time:9,925
This week:228Up