You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
997 B
PHTML
40 lines
997 B
PHTML
2 years ago
|
<?php
|
||
|
|
||
|
declare(strict_types=1);
|
||
|
|
||
|
namespace App\Helper;
|
||
|
|
||
|
use Hyperf\Di\Annotation\AnnotationCollector;
|
||
|
|
||
|
class Annotation
|
||
|
{
|
||
|
/**
|
||
|
* 只支持系统默认收集器
|
||
|
*/
|
||
|
public static function getMethodsByAnnotationAndClass(string $annotation, string $class): array
|
||
|
{
|
||
|
$items = AnnotationCollector::getMethodsByAnnotation($annotation);
|
||
|
$methods = [];
|
||
|
foreach ($items as $item) {
|
||
|
if ($item['class'] == $class) {
|
||
|
$methods[] = $item;
|
||
|
}
|
||
|
}
|
||
|
return $methods;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 只支持系统默认收集器
|
||
|
*/
|
||
|
public static function getPropertiesByAnnotationAndClass(string $annotation, string $class): array
|
||
|
{
|
||
|
$items = AnnotationCollector::getPropertiesByAnnotation($annotation);
|
||
|
$properties = [];
|
||
|
foreach ($items as $item) {
|
||
|
if ($item['class'] == $class) {
|
||
|
$properties[] = $item;
|
||
|
}
|
||
|
}
|
||
|
return $properties;
|
||
|
}
|
||
|
}
|