/** * 주어진 프록시 클래스 명세를 eval()을 사용하여 로드한다. * * @param Definition $definition 동적으로 생성할 프록시 클래스에 대한 명세 * * @return void */ public function load(Definition $definition) { if (class_exists($definition->getClassName(), false)) { return; } eval("?>" . $definition->getCode()); }
/** * 주어진 프록시 클래스 명세를 파일에 작성한 후 해당 클래스를 로드한다. * * @param Definition $definition 동적으로 생성할 프록시 클래스에 대한 명세 * * @return void */ public function load(Definition $definition) { if (class_exists($definition->getClassName(), false)) { return; } $path = $this->getProxyPath($definition->getClassName()); @mkdir($this->path, 0777, true); file_put_contents($path, $definition->getCode()); require_once $path; }