tractorcow / classproxy
1.0.1
2026-02-03 22:58 UTC
Requires
- phpspec/prophecy: ^1.7
Requires (Dev)
- phpunit/phpunit: ^5.7
README
Dynamically scaffold proxy classes that actually extend the class being proxied, allowing them to be used in type-strict applications.
No it's not prophecy because this is designed for partial proxies, not testing.
Installation
composer require tractorcow/classproxy
Examples
// Create a proxy creator $proxy = ProxyFactory::create(DataBase::class) ->addMethod('connect', function ($args, $next) use ($logger) { $logger->log("Connecting to server " . $args[0]['server']; return $next(...$args); }); // Generate instance of our proxy $instance = $proxy->instance(); assert($instance instanceof Database); // Yep! // Connects to underlying database, logging the call $instance->connect([ 'server' => 'localhost', 'user' => 'root' ]);