src/View/CsvView.php
protected function _renderContent()
    {
        $extract = $this->viewVars['_extract'];
        $serialize = $this->viewVars['_serialize'];

        if ($serialize === true) {
            $serialize = array_diff(
                array_keys($this->viewVars),
                $this->_specialVars
            );
        }

        foreach ((array)$serialize as $viewVar) {
            if (is_scalar($this->viewVars[$viewVar])) {
                throw new Exception("'" . $viewVar . "' is not an array or iteratable object.");
            }

            foreach ($this->viewVars[$viewVar] as $_data) {
                if ($_data instanceof EntityInterface) {
                    $_data = $_data->toArray();
                }

                if ($extract === null) {
                    $this->_renderRow($_data);
                    continue;
                }

                $values = [];
                foreach ($extract as $formatter) {
                    if (!is_string($formatter) && is_callable($formatter)) {
                        $value = $formatter($_data);
                    } else {
                        $path = $formatter;
                        $format = null;
                        if (is_array($formatter)) {
                            list($path, $format) = $formatter;
                        }

                        if (strpos($path, '.') === false) {
                            $value = $_data[$path];
                        } else {
                            $value = Hash::get($_data, $path);
                        }

                        if ($format) {
                            $value = sprintf($format, $value);
                        }
                    }

                    $values[] = $value;
                }
                $this->_renderRow($values);
            }
        }
    }
protected function _renderContent()
    {
        $extract = $this->viewVars['_extract'];
        $serialize = $this->viewVars['_serialize'];

        if ($serialize === true) {
            $serialize = array_diff(
                array_keys($this->viewVars),
                $this->_specialVars
            );
        }

        foreach ((array)$serialize as $viewVar) {
            if (is_scalar($this->viewVars[$viewVar])) {
                throw new Exception("'" . $viewVar . "' is not an array or iteratable object.");
            }

            foreach ($this->viewVars[$viewVar] as $_data) {
                if ($_data instanceof EntityInterface) {
                    $_data = $_data->toArray();
                }

                if ($extract === null) {
                    $this->_renderRow($_data);
                    continue;
                }

                $values = [];
                foreach ($extract as $formatter) {
                    if (!is_string($formatter) && is_callable($formatter)) {
                        $value = $formatter($_data);
                    } else {
                        $path = $formatter;
                        $format = null;
                        if (is_array($formatter)) {
                            list($path, $format) = $formatter;
                        }

                        if (strpos($path, '.') === false) {
                            $value = $_data[$path];
                        } else {
                            $value = Hash::get($_data, $path);
                        }

                        if ($format) {
                            $value = sprintf($format, $value);
                        }
                    }

                    $values[] = $value;
                }
                $this->_renderRow($values);
            }
        }
    }
protected function _renderContent ( ) { $ extract = $ this -> viewVars [ '_extract' ] ; $ serialize = $ this -> viewVars [ '_serialize' ] ; if ( $ serialize === true ) { $ serialize = array_diff ( array_keys ( $ this -> viewVars ) , $ this -> _specialVars ) ; } foreach ( ( array ) $ serialize as $ viewVar ) { if ( is_scalar ( $ this -> viewVars [ $ viewVar ] ) ) { throw new Exception ( "'" . $ viewVar . "' is not an array or iteratable object." ) ; } foreach ( $ this -> viewVars [ $ viewVar ] as $ _data ) { if ( $ _data instanceof EntityInterface ) { $ _data = $ _data -> toArray ( ) ; } if ( $ extract === null ) { $ this -> _renderRow ( $ _data ) ; continue ; } $ values = [ ] ; foreach ( $ extract as $ formatter ) { if ( ! is_string ( $ formatter ) && is_callable ( $ formatter ) ) { $ value = $ formatter ( $ _data ) ; } else { $ path = $ formatter ; $ format = null ; if ( is_array ( $ formatter ) ) { list ( $ path , $ format ) = $ formatter ; } if ( strpos ( $ path , '.' ) === false ) { $ value = $ _data [ $ path ] ; } else { $ value = Hash :: get ( $ _data , $ path ) ; } if ( $ format ) { $ value = sprintf ( $ format , $ value ) ; } } $ values [ ] = $ value ; } $ this -> _renderRow ( $ values ) ; } } }
Renders the body of the data to the csv

@return void
@throws \Exception
Renders the body of the data to the csv