Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Interoperability Configuration

You want to configure your factories?

You want to reduce your factory boilerplate code?

You want to check automatically for mandatory options or merge default options?

You want to have a valid config structure?

You want to generate your configuration files from factory classes?

This library comes to the rescue!

Build Status Scrutinizer Quality Score Coverage Status Latest Stable Version Total Downloads License

interop-config provides interfaces and a concrete implementation to create instances depending on configuration via factory classes and ensures a valid config structure. It can also be used to auto discover factories and to create configuration files.

  • Well tested. Besides unit test and continuous integration/inspection this solution is also ready for production use.
  • Framework agnostic This PHP library does not depends on any framework but you can use it with your favourite framework.
  • Every change is tracked. Want to know whats new? Take a look at
  • Listen to your ideas. Have a great idea? Bring your tested pull request or open a new issue. See

You should have coding conventions and you should have config conventions. If not, you should think about that. interop-config is universally applicable! See further documentation for more details.


The suggested installation method is via composer. For composer documentation, please refer to

Run composer require sandrokeil/interop-config to install interop-config. Version 1.x is for PHP < 7.1 and Version 2.x is for PHP >= 7.1.


For the latest online documentation visit Refer the Quick Start section for a detailed explanation.

Documentation is in the doc tree, and can be compiled using bookdown or Docker

$ docker run -it --rm -v $(pwd):/app sandrokeil/bookdown doc/bookdown.json
$ docker run -it --rm -p 8080:8080 -v $(pwd):/app php:7.1-cli php -S -t /app/doc/html

or run bookdown

$ ./vendor/bin/bookdown doc/bookdown.json
$ php -S -t doc/html/

Then browse to http://localhost:8080/


This is a list of projects who are using interop-config interfaces (incomplete).


The benchmarks uses PHPBench and can be started by the following command:

$ ./vendor/bin/phpbench run -v --report=table

or with Docker

$ docker run --rm -it --volume $(pwd):/app prooph/php:7.1-cli-opcache php ./vendor/bin/phpbench run --report=table

You can use the group and filter argument to get only results for a specific group/filter.

These groups are available: perf, config, configId, mandatory, mandatoryRev and default

These filters are available: can, options and fallback


Provides interfaces and a concrete implementation to create instances depending on configuration via factory classes with mandatory options check and ensures an uniform config structure.





You can’t perform that action at this time.