<?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()); } }