public function set(...$args): RegistryInterface
    {
        $separator = '--'. md5(uniqid()) . '--';

        switch (count($args)) {
            case 0:
                //there's nothing to set
                return $this;
            case 1:
                if (is_array($args[0])) {
                    $this->data = $args[0];
                }
                return $this;
            default:
                $value = array_pop($args);
                return $this->setDot(implode($separator, $args), $value, $separator);
        }
    }
public function set(...$args): RegistryInterface
    {
        $separator = '--'. md5(uniqid()) . '--';

        switch (count($args)) {
            case 0:
                //there's nothing to set
                return $this;
            case 1:
                if (is_array($args[0])) {
                    $this->data = $args[0];
                }
                return $this;
            default:
                $value = array_pop($args);
                return $this->setDot(implode($separator, $args), $value, $separator);
        }
    }
public function set ( ... $ args ) : RegistryInterface { $ separator = '--' . md5 ( uniqid ( ) ) . '--' ; switch ( count ( $ args ) ) { case 0 : //there's nothing to set return $ this ; case 1 : if ( is_array ( $ args [ 0 ] ) ) { $ this -> data = $ args [ 0 ] ; } return $ this ; default : $ value = array_pop ( $ args ) ; return $ this -> setDot ( implode ( $ separator , $ args ) , $ value , $ separator ) ; } }
Sets the given data to given the path keys

@param scalar|null ...$args Path keys and value on the end

@return Registry
Sets the given data to given the path keys