亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

JsonResponse.php

標簽:
PHP

<?php

 

namespace Illuminate\Http;

 

use JsonSerializable;

use InvalidArgumentException;

use Illuminate\Contracts\Support\Jsonable;

use Illuminate\Contracts\Support\Arrayable;

use Symfony\Component\HttpFoundation\JsonResponse as BaseJsonResponse;

 

class JsonResponse extends BaseJsonResponse

{// a json response  extends base Json response

    use ResponseTrait;// use Response Trait

   // a trait

 

    /**

     * The json encoding options.

     *

     * @var int

     */

    protected $jsonOptions;// The json encoding options

 

    /**

     * Constructor.

     *

     * @param  mixed  $data

     * @param  int    $status

     * @param  array  $headers

     * @param  int    $options

     */

    public function __construct($data = null, $status = 200, $headers = [], $options = 0)

    {

        $this->jsonOptions = $options;

 

        parent::__construct($data, $status, $headers);

    }// a constructor about instance of the response

   // more type response

 

    /**

     * Get the json_decoded data from the response.

     *

     * @param  bool  $assoc

     * @param  int   $depth

     * @return mixed

     */

    public function getData($assoc = false, $depth = 512)

    {

        return json_decode($this->data, $assoc, $depth);// a json decode method

    }// Get the json_decoded data from the response.

 

    /**

     * {@inheritdoc}

     */

    public function setData($data = [])

    {

        if ($data instanceof Arrayable) {

            $this->data = json_encode($data->toArray(), $this->jsonOptions);// array

        } elseif ($data instanceof Jsonable) {

            $this->data = $data->toJson($this->jsonOptions);// to json

        } elseif ($data instanceof JsonSerializable) {

            $this->data = json_encode($data->jsonSerialize(), $this->jsonOptions);// to serialize

        } else {

            $this->data = json_encode($data, $this->jsonOptions);

        }

 

        if (JSON_ERROR_NONE !== json_last_error()) {

            throw new InvalidArgumentException(json_last_error_msg());

        }// JSON_ERROR_NONE

 

        return $this->update();

    }// set Data inert into the

 

    /**

     * Get the JSON encoding options.

     *

     * @return int

     */

    public function getJsonOptions()

    {

        return $this->jsonOptions;

    }// get Json Options

 

    /**

     * Set the JSON encoding options.

     *

     * @param  int  $options

     * @return mixed

     */

    public function setJsonOptions($options)

    {

        $this->jsonOptions = $options;// set the options

 

        return $this->setData($this->getData());// and set Data

    }// set Json Options

}

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消