Skip to content

letscodehu/php-dynamic-proxy

 
 

Repository files navigation

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);

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 99.5%
  • Shell 0.5%