/** * @param string $newClassName * @param ReflectionClass $refClass * * @return string */ private function createFile($newClassName, ReflectionClass $refClass) { $file = $this->classDir . "/{$newClassName}.php"; $stmt = $this->getClass($newClassName, $refClass)->addStmts($this->getMethods($refClass))->getNode(); $stmt = $this->addClassDocComment($stmt, $refClass); $code = $this->printer->prettyPrint([$stmt]); file_put_contents($file, '<?php ' . PHP_EOL . $code); include_once $file; return $newClassName; }
/** * Returns a simple human readable output for a value. * * @param \PHPParser_Node_Expr $value The value node as provided by * PHP-Parser. * * @return string */ protected function getRepresentationOfValue($value) { if (!$value) { return ''; } if (!self::$prettyPrinter) { self::$prettyPrinter = new PrettyPrinter(); } return self::$prettyPrinter->prettyPrintExpr($value); }