phprs\util\IoCFactory::getMetaInfo PHP Method

getMetaInfo() public method

获取元信息 会缓存
public getMetaInfo ( string $class ) : array
$class string
return array
    public function getMetaInfo($class)
    {
        if (is_string($class)) {
            $refl = new \ReflectionClass($class);
        } else {
            $refl = $class;
        }
        $name = $refl->getName();
        if ($this->metas !== null && isset($this->metas[$name])) {
            return $this->metas[$name];
        }
        static $cache = null;
        if ($cache === null) {
            $cache = new Cache();
        }
        $succeeded = false;
        $cache_key = 'meta_' . sha1($refl->getFileName() . '/' . $name);
        $data = $cache->get($cache_key, $succeeded);
        if ($succeeded) {
            return $data;
        }
        MetaInfo::testAnnotation();
        $data = MetaInfo::get($name);
        $files = [$refl->getFileName()];
        $parent = $refl->getParentClass();
        if ($parent) {
            $files[] = $parent->getFileName();
        }
        foreach ($refl->getInterfaces() as $i) {
            $files[] = $i->getFileName();
        }
        $cache->set($cache_key, $data, 60, new FileExpiredChecker($files));
        return $data;
    }