mirror of
https://github.com/barryvdh/ReflectionDocBlock.git
synced 2026-08-18 01:57:13 +00:00
Added Tag::getParsedDescription();
Minor performance tweak at LongDescription.
This commit is contained in:
@@ -38,14 +38,16 @@ class LongDescription implements \Reflector
|
|||||||
*/
|
*/
|
||||||
public function __construct($content)
|
public function __construct($content)
|
||||||
{
|
{
|
||||||
$this->parsedContents = preg_split('/{\@(.+?)\}/uS', $content, null, PREG_SPLIT_DELIM_CAPTURE);
|
$this->parsedContents = preg_split(
|
||||||
|
'/\{(\@.*)\}/uS',
|
||||||
|
$this->contents = trim($content),
|
||||||
|
null, PREG_SPLIT_DELIM_CAPTURE
|
||||||
|
);
|
||||||
for ($i=1, $l = count($this->parsedContents); $i<$l; $i += 2) {
|
for ($i=1, $l = count($this->parsedContents); $i<$l; $i += 2) {
|
||||||
$this->parsedContents[$i] = $this->tags[] = Tag::createInstance(
|
$this->parsedContents[$i] = $this->tags[] = Tag::createInstance(
|
||||||
'@' . $this->parsedContents[$i]
|
$this->parsedContents[$i]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->contents = trim($content);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -24,13 +24,16 @@ class Tag implements \Reflector
|
|||||||
/** @var string Name of the tag */
|
/** @var string Name of the tag */
|
||||||
protected $tag = '';
|
protected $tag = '';
|
||||||
|
|
||||||
/** @var string content of the tag */
|
/** @var string Content of the tag */
|
||||||
protected $content = '';
|
protected $content = '';
|
||||||
|
|
||||||
/** @var string description of the content of this tag */
|
/** @var string Description of the content of this tag */
|
||||||
protected $description = '';
|
protected $description = '';
|
||||||
|
|
||||||
/** @var int line number of the tag */
|
/** @var array The description, as an array of strings and Tag objects. */
|
||||||
|
protected $parsedDescription = null;
|
||||||
|
|
||||||
|
/** @var int Line number of the tag */
|
||||||
protected $line_number = 0;
|
protected $line_number = 0;
|
||||||
|
|
||||||
/** @var \phpDocumentor\Reflection\DocBlock docblock class */
|
/** @var \phpDocumentor\Reflection\DocBlock docblock class */
|
||||||
@@ -109,6 +112,21 @@ class Tag implements \Reflector
|
|||||||
return $this->description;
|
return $this->description;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Returns the parsed text of this description.
|
||||||
|
*
|
||||||
|
* @return array An array of strings and tag objects, in the order they
|
||||||
|
* occur within the description.
|
||||||
|
*/
|
||||||
|
public function getParsedDescription()
|
||||||
|
{
|
||||||
|
if (null === $this->parsedDescription) {
|
||||||
|
$description = new LongDescription($this->description);
|
||||||
|
$this->parsedDescription = $description->getParsedContents();
|
||||||
|
}
|
||||||
|
return $this->parsedDescription;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the tag line number
|
* Set the tag line number
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user