Page MenuHomeWickedGov Phorge

AnnotationReader.php
No OneTemporary

Size
935 B
Referenced Files
None
Subscribers
None

AnnotationReader.php

<?php
namespace Wikimedia\DebugInfo;
/**
* Utility class for reading doc comment annotations
*
* @since 1.40
*/
class AnnotationReader {
/** @var bool[] */
private static $cache = [];
/**
* Determine whether a ReflectionProperty has a specified annotation
*
* @param \ReflectionProperty $property
* @param string $annotationName
* @return bool
*/
public static function propertyHasAnnotation(
\ReflectionProperty $property,
string $annotationName
) {
$cacheKey = "$annotationName@{$property->class}::{$property->name}";
if ( !isset( self::$cache[$cacheKey] ) ) {
$comment = $property->getDocComment();
if ( $comment === false ) {
self::$cache[$cacheKey] = false;
} else {
$encAnnotation = preg_quote( $annotationName, '!' );
self::$cache[$cacheKey] =
(bool)preg_match( "!^[ \t]*(/\*\*|\*)[ \t]*@$encAnnotation\b!im", $comment );
}
}
return self::$cache[$cacheKey];
}
}

File Metadata

Mime Type
text/x-php
Expires
Wed, Aug 19, 15:50 (3 w, 6 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
6a/be/315e137042243800e881cbb48aca
Default Alt Text
AnnotationReader.php (935 B)

Event Timeline