public function &__get($name)
    {
        if (isset($this->deprecatedProperties[$name])) {
            $method = $this->deprecatedProperties[$name]['get'];
            deprecationWarning(
                "Accessing `{$name}` as a property will be removed in 4.0.0. " .
                "Use request->{$method} instead."
            );

            return $this->{$name};
        }

        deprecationWarning(sprintf(
            'Accessing routing parameters through `%s` will removed in 4.0.0. ' .
            'Use `getParam()` instead.',
            $name
        ));

        if (isset($this->params[$name])) {
            return $this->params[$name];
        }
        $value = null;

        return $value;
    }