private function with($variable, $value)
    {
        if ($value === $this->$variable) {
            return $this;
        }

        $uri = clone $this;
        $uri->$variable = $value;

        return $uri;
    }
private function with($variable, $value)
    {
        if ($value === $this->$variable) {
            return $this;
        }

        $uri = clone $this;
        $uri->$variable = $value;

        return $uri;
    }
private function with ( $ variable , $ value ) { if ( $ value === $ this -> $ variable ) { return $ this ; } $ uri = clone $ this ; $ uri -> $ variable = $ value ; return $ uri ; }
Returns an Uri instance with the given value.
@param string $variable Name of the variable to change
@param mixed $value New value for the variable
@return static A new or the same instance depending on if the value changed
Returns an Uri instance with the given value .