示例#1
0
 /**
  * Format the code represented by $reflector.
  *
  * @param \Reflector $reflector
  *
  * @return string formatted code
  */
 public static function format(\Reflector $reflector)
 {
     if ($fileName = $reflector->getFileName()) {
         if (!is_file($fileName)) {
             throw new RuntimeException('Source code unavailable.');
         }
         $file = file_get_contents($fileName);
         $lines = preg_split('/\\r?\\n/', $file);
         $start = $reflector->getStartLine() - 1;
         $end = $reflector->getEndLine() - $start;
         $code = array_slice($lines, $start, $end);
         // no need to escape this bad boy, since (for now) it's being output raw.
         // return OutputFormatter::escape(implode(PHP_EOL, $code));
         return implode(PHP_EOL, $code);
     } else {
         throw new RuntimeException('Source code unavailable.');
     }
 }
示例#2
0
 /**
  * Format the code represented by $reflector.
  *
  * @param \Reflector $reflector
  *
  * @return string formatted code
  */
 public static function format(\Reflector $reflector)
 {
     if ($fileName = $reflector->getFileName()) {
         if (!is_file($fileName)) {
             throw new RuntimeException('Source code unavailable.');
         }
         $file = file_get_contents($fileName);
         $start = $reflector->getStartLine();
         $end = $reflector->getEndLine() - $start;
         $colors = new ConsoleColor();
         $colors->addTheme('line_number', array('blue'));
         $highlighter = new Highlighter($colors);
         return $highlighter->getCodeSnippet($file, $start, 0, $end);
         // no need to escape this bad boy, since (for now) it's being output raw.
         // return OutputFormatter::escape(implode(PHP_EOL, $code));
         return implode(PHP_EOL, $code);
     } else {
         throw new RuntimeException('Source code unavailable.');
     }
 }
 /**
  * Format the code represented by $reflector.
  *
  * @param \Reflector  $reflector
  * @param null|string $colorMode (default: null)
  *
  * @return string formatted code
  */
 public static function format(\Reflector $reflector, $colorMode = null)
 {
     $colorMode = $colorMode ?: Configuration::COLOR_MODE_AUTO;
     if ($fileName = $reflector->getFileName()) {
         if (!is_file($fileName)) {
             throw new RuntimeException('Source code unavailable.');
         }
         $file = file_get_contents($fileName);
         $start = $reflector->getStartLine();
         $end = $reflector->getEndLine() - $start;
         $factory = new ConsoleColorFactory($colorMode);
         $colors = $factory->getConsoleColor();
         $highlighter = new Highlighter($colors);
         return $highlighter->getCodeSnippet($file, $start, 0, $end);
         // no need to escape this bad boy, since (for now) it's being output raw.
         // return OutputFormatter::escape(implode(PHP_EOL, $code));
         return implode(PHP_EOL, $code);
     } else {
         throw new RuntimeException('Source code unavailable.');
     }
 }
示例#4
0
 protected function reflectFile(Reflector $ref, SimpleXMLElement $element, $omitFileName = false)
 {
     $file = $element->addChild('file');
     if (!$omitFileName) {
         $file->fileName = substr($ref->getFileName(), strlen($this->docRoot));
     }
     $file->startLine = $ref->getStartLine();
     $file->endLine = $ref->getEndLine();
 }