guymers / php-dynamic-proxy

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

License:MIT License


Languages

Language:PHP 97.6%Language:Shell 2.4%