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()方法