letscodehu/php-dynamic-proxy

A dynamic proxy generator for PHP

1.0.5 2017-02-18 07:32 UTC

This package is auto-updated.

Last update: 2024-05-13 19:54:00 UTC


README

A dynamic proxy generator for PHP.

Based on Javassist ProxyFactory

Usage

Config::set(["CACHE_DIRECTORY" => "/tmp/php-dynamic-proxy"]);

$class = new ReflectionClass("Class");
$methodOverrides = [
	new MethodHook {
		public function supports(ReflectionMethod $method) {
			return $method->getName() == "test";
		}
	
		public function invoke($proxy, ReflectionMethod $method, array $args) {
			// before original method
	
			$returnValue = $method->invokeArgs($proxy, $args);
			
			// after original method
			
			return $returnValue;
		}
	}
];

$proxy = ProxyFactory::create($class, $methodOverrides);