/** * {@inheritdoc} */ public function setContent($content) { Tag::setContent($content); if (preg_match('/^ # File component (?: # File path in quotes \\"([^\\"]+)\\" | # File URI (\\S+) ) # Remaining content (parsed by SourceTag) (?:\\s+(.*))? $/sux', $this->description, $matches)) { if ('' !== $matches[1]) { $this->setFilePath($matches[1]); } else { $this->setFileURI($matches[2]); } if (isset($matches[3])) { parent::setContent($matches[3]); } else { $this->setDescription(''); } $this->content = $content; } return $this; }
/** * {@inheritdoc} */ public function setContent($content) { parent::setContent($content); $parts = preg_split('/\\s+/Su', $this->description, 2); $this->link = $parts[0]; $this->setDescription(isset($parts[1]) ? $parts[1] : $parts[0]); $this->content = $content; return $this; }
/** * {@inheritdoc} */ public function setContent($content) { parent::setContent($content); $parts = preg_split('/\\s+/Su', $this->description, 2); // any output is considered a type $this->refers = $parts[0]; $this->setDescription(isset($parts[1]) ? $parts[1] : ''); $this->content = $content; return $this; }
/** * {@inheritdoc} */ public function setContent($content) { Tag::setContent($content); // 1. none or more whitespace // 2. optionally the keyword "static" followed by whitespace // 3. optionally a word with underscores followed by whitespace : as // type for the return value // 4. then optionally a word with underscores followed by () and // whitespace : as method name as used by phpDocumentor // 5. then a word with underscores, followed by ( and any character // until a ) and whitespace : as method name with signature // 6. any remaining text : as description if (preg_match('/^ # Static keyword # Declates a static method ONLY if type is also present (?: (static) \\s+ )? # Return type (?: ([\\w\\|_\\\\]+) \\s+ )? # Legacy method name (not captured) (?: [\\w_]+\\(\\)\\s+ )? # Method name ([\\w\\|_\\\\]+) # Arguments \\(([^\\)]*)\\) \\s* # Description (.*) $/sux', $this->description, $matches)) { list(, $static, $this->type, $this->method_name, $this->arguments, $this->description) = $matches; if ($static) { if (!$this->type) { $this->type = 'static'; } else { $this->isStatic = true; } } else { if (!$this->type) { $this->type = 'void'; } } $this->parsedDescription = null; } return $this; }
/** * {@inheritdoc} */ public function setContent($content) { parent::setContent($content); if (preg_match('/^ # The version vector (' . self::REGEX_VECTOR . ') \\s* # The description (.+)? $/sux', $this->description, $matches)) { $this->version = $matches[1]; $this->setDescription(isset($matches[2]) ? $matches[2] : ''); $this->content = $content; } return $this; }
/** * {@inheritdoc} */ public function setContent($content) { Tag::setContent($content); $parts = preg_split('/(\\s+)/Su', $this->description, 3, PREG_SPLIT_DELIM_CAPTURE); // if the first item that is encountered is not a variable; it is a type if (isset($parts[0]) && strlen($parts[0]) > 0 && $parts[0][0] !== '$') { $this->type = array_shift($parts); array_shift($parts); } // if the next item starts with a $ or ...$ it must be the variable name if (isset($parts[0]) && strlen($parts[0]) > 0 && ($parts[0][0] == '$' || substr($parts[0], 0, 4) === '...$')) { $this->variableName = array_shift($parts); array_shift($parts); if (substr($this->variableName, 0, 3) === '...') { $this->isVariadic = true; $this->variableName = substr($this->variableName, 3); } } $this->setDescription(implode('', $parts)); $this->content = $content; return $this; }
/** * {@inheritdoc} */ public function setContent($content) { parent::setContent($content); if (preg_match('/^ # Starting line ([1-9]\\d*) \\s* # Number of lines (?: ((?1)) \\s+ )? # Description (.*) $/sux', $this->description, $matches)) { $this->startingLine = (int) $matches[1]; if (isset($matches[2]) && '' !== $matches[2]) { $this->lineCount = (int) $matches[2]; } $this->setDescription($matches[3]); $this->content = $content; } return $this; }