Make annotations case insensitive

Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
Joas Schilling 2020-06-23 20:18:23 +02:00
parent 284ca3e8a8
commit ad0731a63c
No known key found for this signature in database
GPG key ID: 7076EA9751AACDDA

View file

@ -55,6 +55,7 @@ class ControllerMethodReflector implements IControllerMethodReflector {
// extract everything prefixed by @ and first letter uppercase
preg_match_all('/^\h+\*\h+@(?P<annotation>[A-Z]\w+)((?P<parameter>.*))?$/m', $docs, $matches);
foreach ($matches['annotation'] as $key => $annontation) {
$annontation = strtolower($annontation);
$annotationValue = $matches['parameter'][$key];
if (isset($annotationValue[0]) && $annotationValue[0] === '(' && $annotationValue[\strlen($annotationValue) - 1] === ')') {
$cutString = substr($annotationValue, 1, -1);
@ -118,6 +119,7 @@ class ControllerMethodReflector implements IControllerMethodReflector {
* @return bool true if the annotation is found
*/
public function hasAnnotation(string $name): bool {
$name = strtolower($name);
return array_key_exists($name, $this->annotations);
}
@ -129,6 +131,7 @@ class ControllerMethodReflector implements IControllerMethodReflector {
* @return string
*/
public function getAnnotationParameter(string $name, string $key): string {
$name = strtolower($name);
if (isset($this->annotations[$name][$key])) {
return $this->annotations[$name][$key];
}