当前位置: 首页>>代码示例>>PHP>>正文


PHP Reflector::getStartLine方法代码示例

本文整理汇总了PHP中Reflector::getStartLine方法的典型用法代码示例。如果您正苦于以下问题:PHP Reflector::getStartLine方法的具体用法?PHP Reflector::getStartLine怎么用?PHP Reflector::getStartLine使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Reflector的用法示例。


在下文中一共展示了Reflector::getStartLine方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: _make_internal_message

	protected function _make_internal_message(\Reflector $reflection) {
		$type = false;
		$name = false;
		$location = false;
		
		if($reflection instanceof \ReflectionFunction) {
			$type = 'function';
			$name = $reflection->name;
		}
		elseif($reflection instanceof \ReflectionClass) {
			$type = 'class';
			$name = $reflection->name;
		}
		elseif($reflection instanceof \ReflectionMethod) {
			$type = 'method';
			$name = $reflection->getDeclaringClass()->name . '::' . $reflection->name;
		}
		
		$location = $reflection->getFileName() . ':' . $reflection->getStartLine();
		
		Ev\Evaluer::make_internal_from(
			Ev\Evaluer::SOURCE_OUTPUT,
			sprintf("Source Code for %s '%s' (%s)", $type, $name, $location)
		);
	}
开发者ID:rATRIJS,项目名称:AIP,代码行数:25,代码来源:AIPLang_Function_SHOW_SOURCE.php

示例2: __construct

 /**
  * Constructor
  *
  * @param Reflector|string $commentOrReflector
  */
 public function __construct($commentOrReflector)
 {
     if ($commentOrReflector instanceof Reflector) {
         $this->_reflector = $commentOrReflector;
         if (!method_exists($commentOrReflector, 'getDocComment')) {
             // require_once 'Zend/Reflection/Exception.php';
             throw new Zend_Reflection_Exception('Reflector must contain method "getDocComment"');
         }
         $docComment = $commentOrReflector->getDocComment();
         $lineCount = substr_count($docComment, "\n");
         $this->_startLine = $this->_reflector->getStartLine() - $lineCount - 1;
         $this->_endLine = $this->_reflector->getStartLine() - 1;
     } elseif (is_string($commentOrReflector)) {
         $docComment = $commentOrReflector;
     } else {
         // require_once 'Zend/Reflection/Exception.php';
         throw new Zend_Reflection_Exception(get_class($this) . ' must have a (string) DocComment or a Reflector in the constructor');
     }
     if ($docComment == '') {
         // require_once 'Zend/Reflection/Exception.php';
         throw new Zend_Reflection_Exception('DocComment cannot be empty');
     }
     $this->_docComment = $docComment;
     $this->_parse();
 }
开发者ID:robeendey,项目名称:ce,代码行数:30,代码来源:Docblock.php

示例3: __construct

    /**
     * Constructor
     *
     * @param Reflector|string $commentOrReflector
     * @param AnnotationManager|null $annotationManager
     * @return \Zend\Code\Reflection\DocBlockReflection
     */
    public function __construct($commentOrReflector, AnnotationManager $annotationManager = null)
    {
        if ($commentOrReflector instanceof \Reflector) {
            $this->reflector = $commentOrReflector;
            if (!method_exists($commentOrReflector, 'getDocComment')) {
                throw new Exception\InvalidArgumentException('Reflector must contain method "getDocComment"');
            }
            $this->docComment = $commentOrReflector->getDocComment();

            $lineCount = substr_count($this->docComment, "\n");

            $this->startLine = $this->reflector->getStartLine() - $lineCount - 1;
            $this->endLine   = $this->reflector->getStartLine() - 1;
        } elseif (is_string($commentOrReflector)) {
            $this->docComment = $commentOrReflector;
        } else {
            throw new Exception\InvalidArgumentException(get_class($this) . ' must have a (string) DocComment or a Reflector in the constructor');
        }

        if ($this->docComment == '') {
            throw new Exception\InvalidArgumentException('DocComment cannot be empty');
        }

        $this->annotationManager = $annotationManager;
    }
开发者ID:rickogden,项目名称:zf2,代码行数:32,代码来源:DocBlockReflection.php

示例4: format

 /**
  * 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.');
     }
 }
开发者ID:fulore,项目名称:psysh,代码行数:25,代码来源:CodeFormatter.php

示例5: format

 /**
  * 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.');
     }
 }
开发者ID:JesseDarellMoore,项目名称:CS499,代码行数:27,代码来源:CodeFormatter.php

示例6: format

 /**
  * 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.');
     }
 }
开发者ID:phantsang,项目名称:8csfOIjOaJSlDG2Y3x992O,代码行数:29,代码来源:CodeFormatter.php

示例7: __construct

 /**
  * Constructor
  *
  * @param Reflector|string $commentOrReflector
  * @return \Zend\Code\Reflection\DocBlockReflection
  */
 public function __construct($commentOrReflector, DocBlock\TagManager $tagManager = null)
 {
     $this->tagManager = $tagManager ?: new DocBlock\TagManager(DocBlock\TagManager::USE_DEFAULT_PROTOTYPES);
     if ($commentOrReflector instanceof \Reflector) {
         $this->reflector = $commentOrReflector;
         if (!method_exists($commentOrReflector, 'getDocComment')) {
             throw new Exception\InvalidArgumentException('Reflector must contain method "getDocComment"');
         }
         /* @var MethodReflection $commentOrReflector */
         $this->docComment = $commentOrReflector->getDocComment();
         // determine line numbers
         $lineCount = substr_count($this->docComment, "\n");
         $this->startLine = $this->reflector->getStartLine() - $lineCount - 1;
         $this->endLine = $this->reflector->getStartLine() - 1;
     } elseif (is_string($commentOrReflector)) {
         $this->docComment = $commentOrReflector;
     } else {
         throw new Exception\InvalidArgumentException(get_class($this) . ' must have a (string) DocComment or a Reflector in the constructor');
     }
     if ($this->docComment == '') {
         throw new Exception\InvalidArgumentException('DocComment cannot be empty');
     }
     $this->reflect();
 }
开发者ID:bradley-holt,项目名称:zf2,代码行数:30,代码来源:DocBlockReflection.php

示例8: reflectFile

 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();
 }
开发者ID:sobstel,项目名称:XReflect,代码行数:9,代码来源:XReflect.php

示例9: calculateErrorLine

 /**
  * @param \Reflector|\Nette\Reflection\ClassType|\Nette\Reflection\Method $refl
  * @param \Exception|\Throwable $e
  * @param int $startLine
  *
  * @return int|string
  */
 public static function calculateErrorLine(\Reflector $refl, $e, $startLine = NULL)
 {
     if ($startLine === NULL) {
         $startLine = $refl->getStartLine();
     }
     if ($pos = Strings::match($e->getMessage(), '~position\\s*(\\d+)~')) {
         $targetLine = self::calculateAffectedLine($refl, $pos[1]);
     } elseif ($notImported = Strings::match($e->getMessage(), '~^\\[Semantical Error\\]\\s+The annotation "([^"]*?)"~i')) {
         $parts = explode(self::findRenamed($refl, $notImported[1]), self::cleanedPhpDoc($refl), 2);
         $targetLine = self::calculateAffectedLine($refl, strlen($parts[0]));
     } elseif ($notFound = Strings::match($e->getMessage(), '~^\\[Semantical Error\\]\\s+Couldn\'t find\\s+(.*?)\\s+(.*?),\\s+~')) {
         // this is just a guess
         $parts = explode(self::findRenamed($refl, $notFound[2]), self::cleanedPhpDoc($refl), 2);
         $targetLine = self::calculateAffectedLine($refl, strlen($parts[0]));
     } else {
         $targetLine = self::calculateAffectedLine($refl, 1);
     }
     $phpDocLines = count(Strings::split($refl->getDocComment(), '~[\\n\\r]+~'));
     return $startLine - ($phpDocLines - ($targetLine - 1));
 }
开发者ID:LidskaSila,项目名称:Doctrine,代码行数:27,代码来源:Panel.php

示例10: annotateLocation

function annotateLocation(\Reflector $refl)
{
    return array('file' => $refl->getFileName(), 'line' => $refl->getStartLine());
}
开发者ID:alexpw,项目名称:boris,代码行数:4,代码来源:Completions53-.php

示例11: locateEmptyTestFailureSource

 public function locateEmptyTestFailureSource()
 {
     return FailureSourceLocator::formatFileAndLine($this->reflection->getFileName(), $this->reflection->getStartLine());
 }
开发者ID:rtens,项目名称:scrut,代码行数:4,代码来源:PlainFailureSourceLocator.php


注:本文中的Reflector::getStartLine方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。