Download the PHP package steevanb/composer-overload-class without Composer
On this page you can find all versions of the php package steevanb/composer-overload-class. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download steevanb/composer-overload-class
More information about steevanb/composer-overload-class
Files in steevanb/composer-overload-class
Package composer-overload-class
Short Description Add extra to composer.json, to overload autoloaded class
License MIT
Informations about the package composer-overload-class
composer-overload-class
Allow to overload autoloaded classes, to include your files instead of supposed ones.
Sometimes, you need to overload a class from a dependency. But you can't, cause you've found a nice "new Foo\Bar()" somewhere in this dependency...
So, if your project use Composer autoload (like Symfony projects for example), you can use steevanb/composer-overload-class.
With a simple configuration, you can specify to Composer in which file it will find a class (your file), instead of let him find original file with class namespace. Cause you can't change namespace and class name of original class, otherwise all dependencies to this namespace / class name will fail (use Foo\Bar, method parameter type, etc), composer-overload-class will clone Foo\Bar class content into ComposerOverloadClass\Foo namespace.
Your class need to have exact same namespace as overloaded one, and you can extends ComposerOverloadClass\Foo\Bar if you need.
Changelog
Installation
Configuration
To overload a class, you need to configure it via your composer.json.
Example taken from steevanb/doctrine-stats, to overload Doctrine ObjectHydrator :
When configuration is finished, you need to re-generate Composer autoload :
That's all folks !
Example with Doctrine ObjectHydrator
Example taken from steevanb/doctrine-stats, to overload Doctrine ObjectHydrator, to add a timer when entities are hydrated :