批改状态:合格
老师批语:
作业标题:0824 curl扩展与composer
作业内容:1. 使用curl请求聚合支付的驾考宝典题库接口数据, 并渲染到页面上; 2. - composer 常用的指令有哪些? 3. mvc pathinfo 路由映射是怎么实现的?
<?php//curl初始化 获取一个curl句柄,在后端发起网络请求$ch=curl_init();$url="http://v.juhe.cn/jztk/query?";$key='acab39426b2c6f83c2782c795060bb4a';$subject=1;$model='c1';$testType='rand';$query=http_build_query(["key"=>$key, 'subject'=>$subject,'model'=>$model,'testType'=>$testType]);//echo $query;curl_setopt($ch,CURLOPT_URL,$url.$query);curl_setopt($ch,CURLOPT_HTTPGET,true);// 启用时会将头文件的信息作为数据流输出。curl_setopt($ch,CURLOPT_HEADER,false);// true 将curl_exec()获取的信息以字符串返回,而不是直接输出。curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);$apiData = curl_exec($ch);// $apiData = json_decode($apiData,true);// var_dump( $apiData);// die;//echo $apiData;curl_close($ch);?><!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>驾照题库</title></head><style>table {color: #555;background-color: #efefef;border-collapse: collapse;width: 800px;text-align: left;margin: auto;}td {border: 2px solid #FFF;padding: 5px;}table caption {font-size: 1.2rem;margin-bottom: 15px;}table thead tr:first-of-type {background-color: darkturquoise;color: white;}</style><body><script>const obj = <?=$apiData?>;// 创建表格元素const table = document.createElement('table');console.log(table);// 表头: 城市 + 标题, 如:合肥天气预报table.createCaption().textContent ='';// 创建表头,并尾部添加新行,将表头参数填入const tr = table.createTHead().insertRow(-1);tr.insertCell(0).innerText = '驾校答题';// 遍历未来几天的天气对象数组obj.result.forEach(item=>{// 先生成一个新行,并插入到表尾const row = table.insertRow(-1);// 遍历每一天的天气对象数组,并填充到生成的单元格中row.insertCell(0).innerHTML = item.id+"、"+item.question+"<br>"+"A:"+item.item1+"<br>"+"B:"+item.item2+"<br>"+"C:"+item.item3+"<br>"+"D:"+item.item1+"<br>"+"正确答案:"+item.explains+"<br>"+"<img src="+item.url+">";// // row.insertCell(0).innerText = item.date;// row.insertCell(1).innerText = item.temperature;// row.insertCell(2).innerText = item.weather;// row.insertCell(3).innerText = item.direct;// 将生成的该行插入到表格元素中table.appendChild(row);});// 最后将表格添加到页面中document.body.appendChild(table);</script></body></html>

<?php//mvc这种架构模式 url地址都会映射到控制器下面的一个具体操作方法上namespace mvc;class User{function index($id,$name){return "您好$name,你的id是$id";}function getName(){return '你好';}}$pathinfo =array_values(array_filter(explode("/",$_SERVER['PATH_INFO']))) ;// var_dump($pathinfo);$controller = __NAMESPACE__.'\\'.array_shift($pathinfo);// echo $controller;$action = array_shift($pathinfo);// echo $action;// $params = ['id'=>1,'name'=>'peter'];// 从url http://chloe.io/0824/api/index.php/user/index/id/1/name/peter 中提取参数// var_dump($pathinfo);for ($i=0; $i < count($pathinfo) ; $i+=2) {if(isset($pathinfo[$i+1]) && !empty($pathinfo[$i+1]))$params[$pathinfo[$i]] = $pathinfo[$i+1];}// var_dump($params);echo call_user_func_array([(new $controller),$action],$params);
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号