@@ 93-131 (lines=39) @@ | ||
90 | ||
91 | $this->addH2('Methods'); |
|
92 | /* Render methods of a class */ |
|
93 | foreach ($class->getMethods() as $method) { |
|
94 | $docBlock = $method->getDocBlock(); |
|
95 | $params = []; |
|
96 | if($docBlock !== null) { |
|
97 | /** @var Param $param */ |
|
98 | foreach ($docBlock->getTagsByName('param') as $param) { |
|
99 | $params[$param->getVariableName()] = $param; |
|
100 | } |
|
101 | } |
|
102 | $args = ''; |
|
103 | /** @var Argument $argument */ |
|
104 | foreach ($method->getArguments() as $argument) { |
|
105 | // TODO: defaults, types |
|
106 | $args .= ' $' . $argument->getName() . ', '; |
|
107 | } |
|
108 | $args = substr($args, 0, -2); |
|
109 | ||
110 | $modifiers = $method->getVisibility(); |
|
111 | $modifiers .= $method->isAbstract() ? ' abstract' : ''; |
|
112 | $modifiers .= $method->isFinal() ? ' final' : ''; |
|
113 | $modifiers .= $method->isStatic() ? ' static' : ''; |
|
114 | $this->addLine('.. rst-class:: ' . $modifiers)->addLine(); |
|
115 | $this->indent(); |
|
116 | $this->beginPhpDomain('method', $method->getName().'('.$args.')'); |
|
117 | if ($docBlock) |
|
118 | $this->addMultiline($docBlock->getDescription()); |
|
119 | $this->addLine(); |
|
120 | if (!empty($params)) { |
|
121 | foreach ($method->getArguments() as $argument) { |
|
122 | /** @var Param $param */ |
|
123 | $param = $params[$argument->getName()]; |
|
124 | if ($param !== null) |
|
125 | $this->addMultiline(':param ' . $param->getType() . ' $' . $argument->getName() . ': ' . $param->getDescription(), true); |
|
126 | } |
|
127 | } |
|
128 | $this->endPhpDomain('method'); |
|
129 | $this->unindent(); |
|
130 | ||
131 | } |
|
132 | $this->endPhpDomain(); //class |
|
133 | } |
|
134 |
@@ 72-110 (lines=39) @@ | ||
69 | ||
70 | $this->addH2('Methods'); |
|
71 | /* Render methods of a trait */ |
|
72 | foreach ($trait->getMethods() as $method) { |
|
73 | $docBlock = $method->getDocBlock(); |
|
74 | $params = []; |
|
75 | if($docBlock !== null) { |
|
76 | /** @var Param $param */ |
|
77 | foreach ($docBlock->getTagsByName('param') as $param) { |
|
78 | $params[$param->getVariableName()] = $param; |
|
79 | } |
|
80 | } |
|
81 | $args = ''; |
|
82 | /** @var Argument $argument */ |
|
83 | foreach ($method->getArguments() as $argument) { |
|
84 | // TODO: defaults, types |
|
85 | $args .= ' $' . $argument->getName() . ', '; |
|
86 | } |
|
87 | $args = substr($args, 0, -2); |
|
88 | ||
89 | $modifiers = $method->getVisibility(); |
|
90 | $modifiers .= $method->isAbstract() ? ' abstract' : ''; |
|
91 | $modifiers .= $method->isFinal() ? ' final' : ''; |
|
92 | $modifiers .= $method->isStatic() ? ' static' : ''; |
|
93 | $this->addLine('.. rst-class:: ' . $modifiers)->addLine(); |
|
94 | $this->indent(); |
|
95 | $this->beginPhpDomain('method', $method->getName().'('.$args.')'); |
|
96 | if ($docBlock) |
|
97 | $this->addMultiline($docBlock->getDescription()); |
|
98 | $this->addLine(); |
|
99 | if (!empty($params)) { |
|
100 | foreach ($method->getArguments() as $argument) { |
|
101 | /** @var Param $param */ |
|
102 | $param = $params[$argument->getName()]; |
|
103 | if ($param !== null) |
|
104 | $this->addMultiline(':param ' . $param->getType() . ' $' . $argument->getName() . ': ' . $param->getDescription(), true); |
|
105 | } |
|
106 | } |
|
107 | $this->endPhpDomain('method'); |
|
108 | $this->unindent(); |
|
109 | ||
110 | } |
|
111 | $this->endPhpDomain(); //trait |
|
112 | } |
|
113 |