用PHP写一个简单的1688封装API实例

PHP(PHP: Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法学习了C语言,吸纳Java和Perl多个语言的特色发展出自己的特色语法,并根据它们的长项持续改进提升自己,例如java的面向对象编程,该语言当初创建的主要目标是让开发人员快速编写出优质的web网站。[1][2]PHP同时支持面向对象和面向过程的开发,使用上非常灵活。

传统WEB开发

传统WEB开发将数据处理与展示写在一起,视图直接从模型获取数据并显示,代码复杂,维护困难,不利于团队分工,开发效率低。如果业务逻辑不复杂,通常一个PHP文件就能搞定。

<?php
// json数据

// 如果json数据为一个文件可以如下引用
// 读取 data.json 文件中的内容为一个字符串
// $json = file_get_contents('data.json');
$json = '[
  {
    "id": "1",
    "navname": "岳泽以",
    "navlink": "https://www.yuezeyi.com/",
    "xuhao": "3"
  },
  {
    "id": "2",
    "navname": "百度",
    "navlink": "https://www.baidu.com/",
    "xuhao": "2"
  },
  {
    "id": "3",
    "navname": "腾讯",
    "navlink": "https://www.baidu.com/",
    "xuhao": "1"
  }
]';
// 将json数据转为数组或对象
$data = json_decode($json, true);
?>

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <h3 style="text-align: center;">导航列表</h3>
  <table border="1" cellspacing="0" width="50%" align="center">
    <tr>
      <th>id</th>
      <th>navname</th>
      <th>navlink</th>
      <th>xuhao</th>
    </tr>
    <?php foreach ($data as $value) : ?>
      <tr>
        <td><?php echo $value['id'] ?></td>
        <td><?php echo $value['navname'] ?></td>
        <td><?php echo $value['navlink'] ?></td>
        <td><?php echo $value['xuhao'] ?></td>
      </tr>
    <?php endforeach ?>
  </table>
</body>

</html>

1688API 封装

请求参数

请求参数:num_iid=610947572360

参数说明:num_iid:1688商品ID
sales_data:&sales_data=1 获取近30天成交数据
agent:&agent=1 获取1688分销代发价格数据

响应参数

Version: Date:

名称类型必须示例值描述

item

item[]0宝贝详情数据

创建模型文件(Model)

创建一个模型Model类,在类中创建getData()方法,这个方法会返回数据。

<?php
class Model
{
  public function getData()
  {
    // 读取一个数据
    $json = file_get_contents('data.json');
    // 将json数据转为数组或对象
    $data = json_decode($json, true);
    // 返回数据
    return $data;
  }
}

创建视图文件(View)

创建View类,在类中创建display()方法,这个方法将数据以HTML方式显示。

<?php
class View
{
  public function display($data)
  {
    // 这里做一个表格来显示数据
    $table = ' <h3 style="text-align: center;">导航列表</h3>';
    $table .= '<table border="1" cellspacing="0" width="50%" align="center">
    <tr>
      <th>id</th>
      <th>navname</th>
      <th>navlink</th>
      <th>xuhao</th>
    </tr>';
    foreach ($data as $value) {
      $table .= '<tr>';
      $table .= '<td>' . $value['id'] . '</td>';
      $table .= '<td>' . $value['navname'] . '</td>';
      $table .= '<td>' . $value['navlink'] . '</td>';
      $table .= '<td>' . $value['xuhao'] . '</td>';
      $table .= '</tr>';
    }
    $table .= '</table>';
    // 返回这个表格
    return $table;
  }
}

创建控制器文件(Controller)

创建Controller类,在类中创建show()方法,由该方法完成模型与视图的调用。

<?php
class Controller
{
  public function show()
  {
    // 在model获取到数据
    $data = Model::getData(); //调用Model类中静态方法getDdata
    // 将数据传给view显示
    echo View::display($data); //调用View类静态方法display()显示数据
  }
}

创建入口文件(index.php)

入口文件的功能是完成类入件引入和控制器的调用。

<?php
require_once('Model.php'); //引入模型类
require_once('View.php');  //引入视图
require_once('Controller.php'); //引入控制器类

// 调用控制器中的show方法显示数据,写死了
// Controller::show();
//设置如果默认的控制器和类方法
$c = isset($_GEt['c']) ? $_GET['c'] : 'Controller'; //获取URL参数c=>控制器类名
$f = isset($_GET['f']) ? $_GET['f'] : 'show'; //获取URL参数a=>控制器类中的方法名

$controller = new $c; //实例化控制器,获取控制器对象$controller
$controller->$f(); //调用控制器中的show()方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值