26 lines
		
	
	
		
			523 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			523 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
namespace nur\ldap;
 | 
						|
 | 
						|
use nur\b\coll\TArrayMd;
 | 
						|
 | 
						|
trait TCompositeValue {
 | 
						|
  use TArrayMd;
 | 
						|
 | 
						|
  /** @var array */
 | 
						|
  private static $optional_keys;
 | 
						|
 | 
						|
  protected function getOptionalKeys(): array {
 | 
						|
    $optionalKeys = self::$optional_keys;
 | 
						|
    if ($optionalKeys === null) {
 | 
						|
      $optionalKeys = self::$optional_keys = parent::getOptionalKeys();
 | 
						|
    }
 | 
						|
    return $optionalKeys;
 | 
						|
  }
 | 
						|
 | 
						|
  function reset(?array $values): CompositeValue {
 | 
						|
    $this->md()->ensureSchema($values);
 | 
						|
    $this->data = $values;
 | 
						|
    return $this;
 | 
						|
  }
 | 
						|
}
 |