Exemplo n.º 1
0
 public static function getMetadata()
 {
     $className = get_called_class();
     try {
         // not using default value to save cpu cycles on requests that follow the first exception.
         return GeneralCache::getEntry($className . 'Metadata');
     } catch (NotFoundException $e) {
         $defaultMetadata = self::getDefaultMetadata();
         $metadata = parent::getMetadata();
         $modelClassName = 'Person';
         try {
             $globalMetadata = GlobalMetadata::getByClassName($modelClassName);
             $metadata[$modelClassName] = unserialize($globalMetadata->serializedMetadata);
         } catch (NotFoundException $e) {
             if (isset($defaultMetadata[$modelClassName])) {
                 $metadata[$modelClassName] = $defaultMetadata[$modelClassName];
             }
         }
         if (YII_DEBUG) {
             self::assertMetadataIsValid($metadata);
         }
     }
     GeneralCache::cacheEntry($className . 'Metadata', $metadata);
     return $metadata;
 }