Introduction

This library provides a way of avoiding usage of constructors when instantiating PHP classes.

Installation

The suggested installation method is via composer:

$ composer require doctrine/instantiator

Usage

The instantiator is able to create new instances of any class without using the constructor or any API of the class itself:

1<?php use Doctrine\Instantiator\Instantiator; use App\Entities\User; $instantiator = new Instantiator(); $user = $instantiator->instantiate(User::class);
2
3
4
5
6
7
8

Contributing

  • Follow the Doctrine Coding Standard
  • The project will follow strict object calisthenics
  • Any contribution must provide tests for additional introduced conditions
  • Any un-confirmed issue needs a failing test case before being accepted
  • Pull requests must be sent from a new hotfix/feature branch, not from master.

Testing

The PHPUnit version to be used is the one installed as a dev- dependency via composer:

$ ./vendor/bin/phpunit

Accepted coverage for new contributions is 80%. Any contribution not satisfying this requirement won’t be merged.

Credits

This library was migrated from ocramius/instantiator, which has been donated to the doctrine organization, and which is now deprecated in favour of this package.