PATH:
home
/
lab2454c
/
bancmils.com
/
vendor
/
phpdocumentor
/
reflection-docblock
/
src
/
DocBlock
/
Tags
<?php declare(strict_types=1); /** * This file is part of phpDocumentor. * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. * * @link http://phpdoc.org */ namespace phpDocumentor\Reflection\DocBlock\Tags; use InvalidArgumentException; use phpDocumentor\Reflection\DocBlock\Description; use phpDocumentor\Reflection\DocBlock\DescriptionFactory; use phpDocumentor\Reflection\DocBlock\StandardTagFactory; use phpDocumentor\Reflection\Types\Context as TypeContext; use Webmozart\Assert\Assert; use function preg_match; /** * Parses a tag definition for a DocBlock. */ final class Generic extends BaseTag implements Factory\StaticMethod { /** * Parses a tag and populates the member variables. * * @param string $name Name of the tag. * @param Description $description The contents of the given tag. */ public function __construct(string $name, ?Description $description = null) { $this->validateTagName($name); $this->name = $name; $this->description = $description; } /** * Creates a new tag that represents any unknown tag type. * * @return static */ public static function create( string $body, string $name = '', ?DescriptionFactory $descriptionFactory = null, ?TypeContext $context = null ): self { Assert::stringNotEmpty($name); Assert::notNull($descriptionFactory); $description = $body !== '' ? $descriptionFactory->create($body, $context) : null; return new static($name, $description); } /** * Returns the tag as a serialized string */ public function __toString(): string { if ($this->description) { $description = $this->description->render(); } else { $description = ''; } return $description; } /** * Validates if the tag name matches the expected format, otherwise throws an exception. */ private function validateTagName(string $name): void { if (!preg_match('/^' . StandardTagFactory::REGEX_TAGNAME . '$/u', $name)) { throw new InvalidArgumentException( 'The tag name "' . $name . '" is not wellformed. Tags may only consist of letters, underscores, ' . 'hyphens and backslashes.' ); } } }
[-] Deprecated.php
[edit]
[-] Since.php
[edit]
[-] Uses.php
[edit]
[+]
..
[+]
Reference
[-] Version.php
[edit]
[+]
Factory
[-] See.php
[edit]
[-] TagWithType.php
[edit]
[-] PropertyRead.php
[edit]
[-] InvalidTag.php
[edit]
[-] Method.php
[edit]
[-] Link.php
[edit]
[-] Formatter.php
[edit]
[+]
Formatter
[-] Generic.php
[edit]
[-] PropertyWrite.php
[edit]
[-] Throws.php
[edit]
[-] Example.php
[edit]
[-] .htaccess
[edit]
[-] Covers.php
[edit]
[-] Author.php
[edit]
[-] BaseTag.php
[edit]
[-] Source.php
[edit]
[-] Return_.php
[edit]
[-] Var_.php
[edit]
[-] Param.php
[edit]
[-] Property.php
[edit]