public function testIsTag() { $this->assertTrue(Endpoint::isTag('method')); $this->assertTrue(Endpoint::isTag('path')); $this->assertTrue(Endpoint::isTag('group')); $this->assertTrue(Endpoint::isTag('title')); $this->assertTrue(Endpoint::isTag('description')); $this->assertTrue(Endpoint::isTag('return')); $this->assertTrue(Endpoint::isTag('param')); $this->assertFalse(Endpoint::isTag('dummy')); }
public function parseTags(&$endpoint, $line) { $line = trim(preg_replace('/\\*/', '', $line, 1)); if (empty($line)) { return null; } if ($line[0] === '@') { // matching @tags if (preg_match('/^@(\\w*?)\\s(.*?)$/i', $line, $matches)) { $tag = strtolower($matches[1]); $value = $matches[2]; // check if tag is valid, store it to endpoint if (Endpoint::isTag($tag)) { $fn = 'set' . $tag; $endpoint->{$fn}($value); } } } elseif (!$endpoint->getTitle()) { // by default $endpoint->setTitle($line); } elseif (!$endpoint->getDescription()) { // also by default $endpoint->setDescription($line); } }