protected static function compile_properties(array $properties, $defaults = true)
	{
		$p = $properties;
		$properties = [];

		foreach ($p as $key => $value)
		{
			if (is_int($key))
			{
				$key = $value;
				$value = [];
			}

			// Get property defaults
			if ($defaults and $property = static::property($key, false))
			{
				$value = array_replace_recursive($property, $value);
			}

			$properties[$key] = $value;
		}

		return $properties;
	}
protected static function compile_properties(array $properties, $defaults = true)
	{
		$p = $properties;
		$properties = [];

		foreach ($p as $key => $value)
		{
			if (is_int($key))
			{
				$key = $value;
				$value = [];
			}

			// Get property defaults
			if ($defaults and $property = static::property($key, false))
			{
				$value = array_replace_recursive($property, $value);
			}

			$properties[$key] = $value;
		}

		return $properties;
	}
protected static function compile_properties ( array $ properties , $ defaults = true ) { $ p = $ properties ; $ properties = [ ] ; foreach ( $ p as $ key => $ value ) { if ( is_int ( $ key ) ) { $ key = $ value ; $ value = [ ] ; } // Get property defaults if ( $ defaults and $ property = static :: property ( $ key , false ) ) { $ value = array_replace_recursive ( $ property , $ value ) ; } $ properties [ $ key ] = $ value ; } return $ properties ; }
Compiles skeleton properties

@param []      $properties
@param boolean $defaults

@return []
Compiles skeleton properties