framework/web/Response.php
protected function prepare()
    {
        if ($this->statusCode === 204) {
            $this->content = '';
            $this->stream = null;
            return;
        }

        if ($this->stream !== null) {
            return;
        }

        if (isset($this->formatters[$this->format])) {
            $formatter = $this->formatters[$this->format];
            if (!is_object($formatter)) {
                $this->formatters[$this->format] = $formatter = Yii::createObject($formatter);
            }
            if ($formatter instanceof ResponseFormatterInterface) {
                $formatter->format($this);
            } else {
                throw new InvalidConfigException("The '{$this->format}' response formatter is invalid. It must implement the ResponseFormatterInterface.");
            }
        } elseif ($this->format === self::FORMAT_RAW) {
            if ($this->data !== null) {
                $this->content = $this->data;
            }
        } else {
            throw new InvalidConfigException("Unsupported response format: {$this->format}");
        }

        if (is_array($this->content)) {
            throw new InvalidArgumentException('Response content must not be an array.');
        } elseif (is_object($this->content)) {
            if (method_exists($this->content, '__toString')) {
                $this->content = $this->content->__toString();
            } else {
                throw new InvalidArgumentException('Response content must be a string or an object implementing __toString().');
            }
        }
    }
protected function prepare()
    {
        if ($this->statusCode === 204) {
            $this->content = '';
            $this->stream = null;
            return;
        }

        if ($this->stream !== null) {
            return;
        }

        if (isset($this->formatters[$this->format])) {
            $formatter = $this->formatters[$this->format];
            if (!is_object($formatter)) {
                $this->formatters[$this->format] = $formatter = Yii::createObject($formatter);
            }
            if ($formatter instanceof ResponseFormatterInterface) {
                $formatter->format($this);
            } else {
                throw new InvalidConfigException("The '{$this->format}' response formatter is invalid. It must implement the ResponseFormatterInterface.");
            }
        } elseif ($this->format === self::FORMAT_RAW) {
            if ($this->data !== null) {
                $this->content = $this->data;
            }
        } else {
            throw new InvalidConfigException("Unsupported response format: {$this->format}");
        }

        if (is_array($this->content)) {
            throw new InvalidArgumentException('Response content must not be an array.');
        } elseif (is_object($this->content)) {
            if (method_exists($this->content, '__toString')) {
                $this->content = $this->content->__toString();
            } else {
                throw new InvalidArgumentException('Response content must be a string or an object implementing __toString().');
            }
        }
    }
protected function prepare ( ) { if ( $ this -> statusCode === 204 ) { $ this -> content = '' ; $ this -> stream = null ; return ; } if ( $ this -> stream !== null ) { return ; } if ( isset ( $ this -> formatters [ $ this -> format ] ) ) { $ formatter = $ this -> formatters [ $ this -> format ] ; if ( ! is_object ( $ formatter ) ) { $ this -> formatters [ $ this -> format ] = $ formatter = Yii :: createObject ( $ formatter ) ; } if ( $ formatter instanceof ResponseFormatterInterface ) { $ formatter -> format ( $ this ) ; } else { throw new InvalidConfigException ( "The '{$this->format}' response formatter is invalid. It must implement the ResponseFormatterInterface." ) ; } } elseif ( $ this -> format === self :: FORMAT_RAW ) { if ( $ this -> data !== null ) { $ this -> content = $ this -> data ; } } else { throw new InvalidConfigException ( "Unsupported response format: {$this->format}" ) ; } if ( is_array ( $ this -> content ) ) { throw new InvalidArgumentException ( 'Response content must not be an array.' ) ; } elseif ( is_object ( $ this -> content ) ) { if ( method_exists ( $ this -> content , '__toString' ) ) { $ this -> content = $ this -> content -> __toString ( ) ; } else { throw new InvalidArgumentException ( 'Response content must be a string or an object implementing __toString().' ) ; } } }
Prepares for sending the response.
The default implementation will convert [[data]] into [[content]] and set headers accordingly.
@throws InvalidConfigException if the formatter for the specified format is invalid or [[format]] is not supported
Prepares for sending the response . The default implementation will convert [[ data ]] into [[ content ]] and set headers accordingly .