欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP實現(xiàn)的簡單mock json腳本分享

 更新時間:2015年02月10日 10:20:46   投稿:junjie  
這篇文章主要介紹了PHP實現(xiàn)的簡單mock json腳本分享,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下

現(xiàn)在有太多方法去mock,不過當(dāng)還是要連接到遠程服務(wù)器上測試真正的返回的時候,如果機器上沒有跑node而且有php的話,用這貨來臨時mock一下,或許更輕松。

復(fù)制代碼 代碼如下:

<?php
/**
 * Mock Json for Javascript
 *
 * @author soulteary
 * @date 2014-06-15
 */
 
 
/**
 * 請求接口字段:字符集
 */
define('charset','charset');
 
/**
 * 請求接口字段:回調(diào)函數(shù)名
 */
define('callback','callback');
 
/**
 * 請求接口字段:跨域字段
 */
define('crossDomain','cross-domain');
 
 
/**
 * 輸出mock數(shù)據(jù)
 * 如果存在mock.json文件,則數(shù)據(jù)從mock.js中獲取
 *
 * @return string
 */
functionmockData()
{
    if(file_exists('mock.json')){
        $data=json_decode(file_get_contents('mock.json'));
    }else{
        $data=Array(
            'code'=>200,
            'desc'=>'Get the default data.',
            'login'=>true,
            'data'=>Array(
                'name'=>'test api.'
            )
        );
    }
    returnjson_encode($data);
}
 
 
/**
 * 輸出字符集,允許結(jié)果為gbk、gb2312、utf-8
 * 如果非法或者未設(shè)置,輸出utf-8
 *
 * @return string
 */
functioncharset()
{
    $ret='utf-8';
    if(empty($_REQUEST[charset])){
        return$ret;
    }else{
        $charset=strtolower($_REQUEST[charset]);
        if(in_array($charset,array('gbk','gb2312'),true)){
            return$charset;
        }else{
            return$ret;
        }
    }
}
 
 
/**
 * 拼裝json數(shù)據(jù)
 *
 * @return string
 */
functionjsonGenerator()
{
    if(!empty($_REQUEST[callback])){
        header('Content-Type: application/javascript; charset='.charset());
        return$_REQUEST[callback]."(".mockData().");";
    }else{
        if(!empty($_REQUEST[crossDomain])){
            header("Access-Control-Allow-Origin: *");
        };
        header('Content-type: application/json; charset='.charset());
        returnmockData();
    }
}
 
/**
 * 輸出結(jié)果
 */
die(jsonGenerator());

如果你不想改動php里的data object,覺得麻煩,那么直接改動json好了,你或許會問,那我為啥不直接訪問一個json呢,答:

1.你或許需要一個callback包裝這個結(jié)果;
2.你或許期望這個json允許跨域請求;
3.你或許期望這個json可以自定義header編碼…

復(fù)制代碼 代碼如下:

{
    "data":1,
    "w":"測試"
}

代碼很簡單,就不過多描述了。

相關(guān)文章

  • php 實現(xiàn)簡單的登錄功能示例【基于thinkPHP框架】

    php 實現(xiàn)簡單的登錄功能示例【基于thinkPHP框架】

    這篇文章主要介紹了php 實現(xiàn)簡單的登錄功能,結(jié)合實例形式分析了基于thinkPHP框架登錄功能視圖與控制器簡單實現(xiàn)技巧,需要的朋友可以參考下
    2019-12-12
  • 基于PHP給大家講解防刷票的一些技巧

    基于PHP給大家講解防刷票的一些技巧

    刷票行為,一直是一個難題,無法從根本上解決問題,目前最好的解決辦法就是通過人為增加的邏輯限制,下面給大家介紹基于PHP給大家講解防刷票的一些技巧,小伙伴們跟著腳本之家的小編一起學(xué)習(xí)吧
    2015-11-11
  • PHP刪除字符串中非字母數(shù)字字符方法總結(jié)

    PHP刪除字符串中非字母數(shù)字字符方法總結(jié)

    在本篇文章里小編給大家分享了關(guān)于PHP刪除字符串中非字母數(shù)字字符方法和知識點,有需要的朋友們學(xué)習(xí)下。
    2019-01-01
  • 淺析php適配器模式(Adapter)

    淺析php適配器模式(Adapter)

    本文講解的是php設(shè)計模式的結(jié)構(gòu)性模式的概念以及機構(gòu)性模式的七種類中的適配器模式,需要的朋友可以參考下
    2014-11-11
  • 基于ThinkPHP刪除目錄及目錄文件函數(shù)

    基于ThinkPHP刪除目錄及目錄文件函數(shù)

    這篇文章主要介紹了基于ThinkPHP刪除目錄及目錄文件函數(shù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • Laravel利用gulp如何構(gòu)建前端資源詳解

    Laravel利用gulp如何構(gòu)建前端資源詳解

    Gulp 是一個自動化工具,前端開發(fā)者可以使用它來處理常見任務(wù),下面這篇文章主要給大家介紹了關(guān)于Laravel利用gulp如何構(gòu)建前端資源的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧
    2018-06-06
  • yii框架數(shù)據(jù)庫關(guān)聯(lián)查詢操作示例

    yii框架數(shù)據(jù)庫關(guān)聯(lián)查詢操作示例

    這篇文章主要介紹了yii框架數(shù)據(jù)庫關(guān)聯(lián)查詢操作,結(jié)合實例形式總結(jié)分析了yii數(shù)據(jù)庫關(guān)聯(lián)查詢的常見操作方法與使用注意事項,需要的朋友可以參考下
    2019-10-10
  • Laravel6.0.4中將添加計劃任務(wù)事件的方法步驟

    Laravel6.0.4中將添加計劃任務(wù)事件的方法步驟

    此版本包括計劃任務(wù)事件、新的 JSON 斷言方法和所有最新更改。這篇文章主要介紹了Laravel6.0.4中將添加計劃任務(wù)事件的方法步驟,感興趣的可以了解一下
    2019-10-10
  • php根據(jù)isbn書號查詢amazon網(wǎng)站上的圖書信息的示例

    php根據(jù)isbn書號查詢amazon網(wǎng)站上的圖書信息的示例

    這篇文章主要介紹了php根據(jù)isbn書號查詢amazon網(wǎng)站上的圖書信息的示例,需要的朋友可以參考下
    2014-02-02
  • php+ajax+json 詳解及實例代碼

    php+ajax+json 詳解及實例代碼

    php中使用ajax獲取數(shù)據(jù)是網(wǎng)站開發(fā)中經(jīng)常要用到的,本文章想大家介紹php+ajax+json的一個最簡單實例,對于新手來說學(xué)習(xí)php+ajax有一定的幫助,需要的朋友可以參考下
    2016-12-12

最新評論