[李景山php]每天laravel-20161023|Reponse.php

原创 2016年08月30日 09:07:10
<?php

namespace Illuminate\Http;

use Exception;
use ArrayObject;
use JsonSerializable;
use Illuminate\Contracts\Support\Jsonable;
use Illuminate\Contracts\Support\Renderable;
use Symfony\Component\HttpFoundation\Response as BaseResponse;
// namespace about be use
class Response extends BaseResponse
{// a response about extends
    use ResponseTrait;// use a trait

    /**
     * The original content of the response.
     *
     * @var mixed
     */
    public $original;// The original content of the response.

    /**
     * The exception that triggered the error response (if applicable).
     *
     * @var \Exception
     */
    public $exception;// The exception that triggered the error response (if applicable)

    /**
     * Set the content on the response.
     *
     * @param  mixed  $content
     * @return $this
     */
    public function setContent($content)
    {// Set the content on the response.
        $this->original = $content;// this content

        // If the content is "JSONable" we will set the appropriate header and convert
        // the content to JSON. This is useful when returning something like models
        // from routes that will be automatically transformed to their JSON form.
        if ($this->shouldBeJson($content)) {
            $this->header('Content-Type', 'application/json');

            $content = $this->morphToJson($content);
        }// If the content is "JSONable" we will set the appropriate header and convert
        // the content to JSON. This is useful when returning something like models
        // from routes that will be automatically transformed to their JSON form

        // If this content implements the "Renderable" interface then we will call the
        // render method on the object so we will avoid any "__toString" exceptions
        // that might be thrown and have their errors obscured by PHP's handling.
        elseif ($content instanceof Renderable) {
            $content = $content->render();
        }// If this content implements the "Renderable" interface then we will call the
        // render method on the object so we will avoid any "__toString" exceptions
        // that might be thrown and have their errors obsured by PHP's handling.

        return parent::setContent($content);// a parent:: setContent
    }

    /**
     * Morph the given content into JSON.
     *
     * @param  mixed   $content
     * @return string
     */
    protected function morphToJson($content)
    {
        if ($content instanceof Jsonable) {
            return $content->toJson();
        }//content

        return json_encode($content);//json_encode(content)
    }//Morph the given content into JSON

    /**
     * Determine if the given content should be turned into JSON.
     *
     * @param  mixed  $content
     * @return bool
     */
    protected function shouldBeJson($content)
    {//Determine if the given content should be turned into JSON.
        return $content instanceof Jsonable ||
               $content instanceof ArrayObject ||
               $content instanceof JsonSerializable ||
               is_array($content);
    }// if can be morph to json ,then morph it.

    /**
     * Get the original response content.
     *
     * @return mixed
     */
    public function getOriginalContent()
    {
        return $this->original;// big get
    }//Get the original response content

    /**
     * Set the exception to attach to the response.
     *
     * @param  \Exception  $e
     * @return $this
     */
    public function withException(Exception $e)
    {
        $this->exception = $e;// set exception

        return $this;// and return it self
    }//Set the exception to attach to the response
}
版权声明:随便转载了..............

[李景山php] -linux -用户组

用户及用户组whoami: 作用:查看当前登录的用户 格式:whoami /etc/passwd: 说明:该文件存放了系统中所有的用户,每一行的每一列如下 ...
  • lijingshan34
  • lijingshan34
  • 2017年05月10日 11:49
  • 65

[李景山php] 扩展解析

// 包含 php 系列配套文件 #ifdef HAVE_CONFIG_H #include "config.h" // 包含配置文件 #endif#include "php.h" // 包含 php...
  • lijingshan34
  • lijingshan34
  • 2017年06月02日 09:16
  • 172

[李景山php]commposer使用

1 本教程针对中国用户 下载位置:https://getcomposer.org/download/ 2 设置php执行文件在php的系统环境变量里面,这样就可以执行php命令行操作。备注:当使用...
  • lijingshan34
  • lijingshan34
  • 2017年04月27日 14:17
  • 299

[李景山php]每天laravel[025]-laravel 基础知识 --- 中间件

中间件:感觉就是一个类似于 守卫/保镖 的方式,随时监控正常服务之外的处理。我们可以把很多通用的需要做成中间件:比如: 登录权限检测、日志记录、头信息修改 等等。。。第一个: 创建中间件 控制器类 ...
  • lijingshan34
  • lijingshan34
  • 2017年04月01日 13:14
  • 151

[李景山php]每天laravel[028]-laravel 基础知识 --- 响应

HTTP响应1 基础响应最简单的响应 Route::get('/',function(){ return "Hello world"; }); 使...
  • lijingshan34
  • lijingshan34
  • 2017年04月01日 18:11
  • 136

[李景山php]每天laravel[025]-laravel 基础知识 --- 控制器

简介:控制器类一般放到 app/Http/Controllers 目录下:1 基础控制器:快速创建控制器:php artisan make:controler PhotoController// 控...
  • lijingshan34
  • lijingshan34
  • 2017年04月01日 16:13
  • 164

[李景山php]简单的PHP 任务分配系统

  • lijingshan34
  • lijingshan34
  • 2016年09月27日 11:21
  • 1448

[李景山php]每天laravel-简单的运行流程

第一天:开始学习laravel 框架 首先 了解 laravel的运行流程第一步:包含自动加载文件 require DIR.’/../bootstrap/autoload.php’;composer...
  • lijingshan34
  • lijingshan34
  • 2017年03月20日 09:23
  • 118

[李景山php] php面试中常见问答题

理论概念 GET和POST的原理和区别 GET将数据追加与url之后进行提交,而POST将数据放在HTML的HEADER头进行提交. GET对数据的大小限制受浏览器和服务器程序的影响,IE浏览器长度大...
  • lijingshan34
  • lijingshan34
  • 2017年05月05日 11:33
  • 187

[李景山php]每天laravel[024]-laravel 基础知识 --- 路由

1 常用的基础路由: 基础路由larvael 版本 高于 5.4 版本:最经典的版本就是:Route::get(‘/url’,function(){ return ‘Hello worl...
  • lijingshan34
  • lijingshan34
  • 2017年03月31日 10:56
  • 136
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[李景山php]每天laravel-20161023|Reponse.php
举报原因:
原因补充:

(最多只允许输入30个字)