⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstract.php

📁 Bug tracker, and reporter.
💻 PHP
📖 第 1 页 / 共 2 页
字号:
    }    /**     * Clear body array     *     * With no arguments, clears the entire body array. Given a $name, clears     * just that named segment; if no segment matching $name exists, returns     * false to indicate an error.     *     * @param  string $name Named segment to clear     * @return boolean     */    public function clearBody($name = null)    {        if (null !== $name) {            $name = (string) $name;            if (isset($this->_body[$name])) {                unset($this->_body[$name]);                return true;            }            return false;        }        $this->_body = array();        return true;    }    /**     * Return the body content     *     * If $spec is false, returns the concatenated values of the body content     * array. If $spec is boolean true, returns the body content array. If     * $spec is a string and matches a named segment, returns the contents of     * that segment; otherwise, returns null.     *     * @param boolean $spec     * @return string|array|null     */    public function getBody($spec = false)    {        if (false === $spec) {            ob_start();            $this->outputBody();            return ob_get_clean();        } elseif (true === $spec) {            return $this->_body;        } elseif (is_string($spec) && isset($this->_body[$spec])) {            return $this->_body[$spec];        }        return null;    }    /**     * Append a named body segment to the body content array     *     * If segment already exists, replaces with $content and places at end of     * array.     *     * @param string $name     * @param string $content     * @return Zend_Controller_Response_Abstract     */    public function append($name, $content)    {        if (!is_string($name)) {            require_once 'Zend/Controller/Response/Exception.php';            throw new Zend_Controller_Response_Exception('Invalid body segment key ("' . gettype($name) . '")');        }        if (isset($this->_body[$name])) {            unset($this->_body[$name]);        }        $this->_body[$name] = (string) $content;        return $this;    }    /**     * Prepend a named body segment to the body content array     *     * If segment already exists, replaces with $content and places at top of     * array.     *     * @param string $name     * @param string $content     * @return void     */    public function prepend($name, $content)    {        if (!is_string($name)) {            require_once 'Zend/Controller/Response/Exception.php';            throw new Zend_Controller_Response_Exception('Invalid body segment key ("' . gettype($name) . '")');        }        if (isset($this->_body[$name])) {            unset($this->_body[$name]);        }        $new = array($name => (string) $content);        $this->_body = $new + $this->_body;        return $this;    }    /**     * Insert a named segment into the body content array     *     * @param  string $name     * @param  string $content     * @param  string $parent     * @param  boolean $before Whether to insert the new segment before or     * after the parent. Defaults to false (after)     * @return Zend_Controller_Response_Abstract     */    public function insert($name, $content, $parent = null, $before = false)    {        if (!is_string($name)) {            require_once 'Zend/Controller/Response/Exception.php';            throw new Zend_Controller_Response_Exception('Invalid body segment key ("' . gettype($name) . '")');        }        if ((null !== $parent) && !is_string($parent)) {            require_once 'Zend/Controller/Response/Exception.php';            throw new Zend_Controller_Response_Exception('Invalid body segment parent key ("' . gettype($parent) . '")');        }        if (isset($this->_body[$name])) {            unset($this->_body[$name]);        }        if ((null === $parent) || !isset($this->_body[$parent])) {            return $this->append($name, $content);        }        $ins  = array($name => (string) $content);        $keys = array_keys($this->_body);        $loc  = array_search($parent, $keys);        if (!$before) {            // Increment location if not inserting before            ++$loc;        }        if (0 === $loc) {            // If location of key is 0, we're prepending            $this->_body = $ins + $this->_body;        } elseif ($loc >= (count($this->_body))) {            // If location of key is maximal, we're appending            $this->_body = $this->_body + $ins;        } else {            // Otherwise, insert at location specified            $pre  = array_slice($this->_body, 0, $loc);            $post = array_slice($this->_body, $loc);            $this->_body = $pre + $ins + $post;        }        return $this;    }    /**     * Echo the body segments     *     * @return void     */    public function outputBody()    {        foreach ($this->_body as $content) {            echo $content;        }    }    /**     * Register an exception with the response     *     * @param Exception $e     * @return Zend_Controller_Response_Abstract     */    public function setException(Exception $e)    {        $this->_exceptions[] = $e;        return $this;    }    /**     * Retrieve the exception stack     *     * @return array     */    public function getException()    {        return $this->_exceptions;    }    /**     * Has an exception been registered with the response?     *     * @return boolean     */    public function isException()    {        return !empty($this->_exceptions);    }    /**     * Does the response object contain an exception of a given type?     *     * @param  string $type     * @return boolean     */    public function hasExceptionOfType($type)    {        foreach ($this->_exceptions as $e) {            if ($e instanceof $type) {                return true;            }        }        return false;    }    /**     * Does the response object contain an exception with a given message?     *     * @param  string $message     * @return boolean     */    public function hasExceptionOfMessage($message)    {        foreach ($this->_exceptions as $e) {            if ($message == $e->getMessage()) {                return true;            }        }        return false;    }    /**     * Does the response object contain an exception with a given code?     *     * @param  int $code     * @return boolean     */    public function hasExceptionOfCode($code)    {        $code = (int) $code;        foreach ($this->_exceptions as $e) {            if ($code == $e->getCode()) {                return true;            }        }        return false;    }    /**     * Retrieve all exceptions of a given type     *     * @param  string $type     * @return false|array     */    public function getExceptionByType($type)    {        $exceptions = array();        foreach ($this->_exceptions as $e) {            if ($e instanceof $type) {                $exceptions[] = $e;            }        }        if (empty($exceptions)) {            $exceptions = false;        }        return $exceptions;    }    /**     * Retrieve all exceptions of a given message     *     * @param  string $message     * @return false|array     */    public function getExceptionByMessage($message)    {        $exceptions = array();        foreach ($this->_exceptions as $e) {            if ($message == $e->getMessage()) {                $exceptions[] = $e;            }        }        if (empty($exceptions)) {            $exceptions = false;        }        return $exceptions;    }    /**     * Retrieve all exceptions of a given code     *     * @param mixed $code     * @return void     */    public function getExceptionByCode($code)    {        $code       = (int) $code;        $exceptions = array();        foreach ($this->_exceptions as $e) {            if ($code == $e->getCode()) {                $exceptions[] = $e;            }        }        if (empty($exceptions)) {            $exceptions = false;        }        return $exceptions;    }    /**     * Whether or not to render exceptions (off by default)     *     * If called with no arguments or a null argument, returns the value of the     * flag; otherwise, sets it and returns the current value.     *     * @param boolean $flag Optional     * @return boolean     */    public function renderExceptions($flag = null)    {        if (null !== $flag) {            $this->_renderExceptions = $flag ? true : false;        }        return $this->_renderExceptions;    }    /**     * Send the response, including all headers, rendering exceptions if so     * requested.     *     * @return void     */    public function sendResponse()    {        $this->sendHeaders();        if ($this->isException() && $this->renderExceptions()) {            $exceptions = '';            foreach ($this->getException() as $e) {                $exceptions .= $e->__toString() . "\n";            }            echo $exceptions;            return;        }        $this->outputBody();    }    /**     * Magic __toString functionality     *     * Proxies to {@link sendResponse()} and returns response value as string     * using output buffering.     *     * @return string     */    public function __toString()    {        ob_start();        $this->sendResponse();        return ob_get_clean();    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -