| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 | <?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK ]// +----------------------------------------------------------------------// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.// +----------------------------------------------------------------------// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )// +----------------------------------------------------------------------// | Author: liu21st <liu21st@gmail.com>// +----------------------------------------------------------------------namespace think\response;use think\Response;class View extends Response{    // 输出参数    protected $options = [];    protected $vars    = [];    protected $config  = [];    protected $filter;    protected $contentType = 'text/html';    /**     * 是否内容渲染     * @var bool     */    protected $isContent = false;    /**     * 处理数据     * @access protected     * @param  mixed $data 要处理的数据     * @return mixed     */    protected function output($data)    {        // 渲染模板输出        return $this->app['view']            ->filter($this->filter)            ->fetch($data, $this->vars, $this->config, $this->isContent);    }    /**     * 设置是否为内容渲染     * @access public     * @param  bool $content     * @return $this     */    public function isContent($content = true)    {        $this->isContent = $content;        return $this;    }    /**     * 获取视图变量     * @access public     * @param  string $name 模板变量     * @return mixed     */    public function getVars($name = null)    {        if (is_null($name)) {            return $this->vars;        } else {            return isset($this->vars[$name]) ? $this->vars[$name] : null;        }    }    /**     * 模板变量赋值     * @access public     * @param  mixed $name  变量名     * @param  mixed $value 变量值     * @return $this     */    public function assign($name, $value = '')    {        if (is_array($name)) {            $this->vars = array_merge($this->vars, $name);        } else {            $this->vars[$name] = $value;        }        return $this;    }    public function config($config)    {        $this->config = $config;        return $this;    }    /**     * 视图内容过滤     * @access public     * @param callable $filter     * @return $this     */    public function filter($filter)    {        $this->filter = $filter;        return $this;    }    /**     * 检查模板是否存在     * @access private     * @param  string|array  $name 参数名     * @return bool     */    public function exists($name)    {        return $this->app['view']->exists($name);    }}
 |