28 lines
		
	
	
		
			757 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			757 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace nur\b\coll;
 | |
| 
 | |
| use nur\data\types\md_utils;
 | |
| use nur\data\types\Metadata;
 | |
| 
 | |
| /**
 | |
|  * Trait TArrayMdDynamic: à utiliser avec {@link TAutoconstsDynamic}
 | |
|  */
 | |
| trait TArrayMdDynamic {
 | |
|   protected static function _ensure_md(?Metadata &$md, ?array $schema, ?string $cache_key=null): ?Metadata {
 | |
|     if ($schema === null) return null;
 | |
|     return md_utils::ensure_md($md, $schema);
 | |
|   }
 | |
| 
 | |
|   protected static function _ensure_md_func(?Metadata &$md, ?callable $get_md, ?string $cache_key=null): ?Metadata {
 | |
|     if ($get_md === null) return null;
 | |
|     return md_utils::ensure_md_func($md, $get_md);
 | |
|   }
 | |
| 
 | |
|   /** @var Metadata */
 | |
|   private static $md;
 | |
| 
 | |
|   protected function md(): ?Metadata {
 | |
|     return self::_ensure_md(self::$md, self::_AUTOGEN_SCHEMA());
 | |
|   }
 | |
| }
 |