重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
以我目前的能力没法理解这个问题。但我举个例子,可能并不是你想要的答案,但没准可以提醒一下。我们用GOOGLE MAP API (开源)的时候,会引用一个类似接口的方法,方法有很多参数可以设置。比如这是个引用地图的方法,它的里面写了很多完整的方法,我这里就不放出来了,但是我举得例子是参数传递在最上面的initialize () (这里我们暂时当作接口)方法上,我们可以传递interface_zoom即缩放大小,interface_lati,interface_lngi就是经纬度等等参数,这些参数可以由我们自己处理,无论是从database还是什么其他方法读取还是怎么运算,然后call这个initialize方法带指定参数就可以了,具体里面如何操作的地图,如何生成的地图,我们就不管了。接口就是我们看到日常生活中的插座,它规定好了规格,是几项的插头,我们就做成几项的插头,具体里面什么线路我们不管。方法中规定了什么类型的参数,我们就传什么类型的参数,具体里面有什么算法我们不管。个人最自白的解释,与官方有出入。
成都创新互联是一家专业提供滨江企业网站建设,专注与做网站、网站建设、H5建站、小程序制作等业务。10年已为滨江众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
var map;
var infoWindow;
function initialize(interface_zoom,interface_lati,interface_lngi) {
var mapDiv = document.getElementById('map-canvas');
map = new google.maps.Map(mapDiv, {
center: new google.maps.LatLng(interface_lati, interface_lngi),
zoom: interface_zoom,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
......
......
}
就是php只处理数据,而不直接输出html
把视图层都交给js去完成。
比如:
//获取数据
$id=$_GET['id'];
if($id){
//支数据库取数据
$sql="select*from table where id='".$id."'";
$re=.....;
echo json_encode($re);//返回json格式数据给前端处理
}
//修改数据
if($id$_GET['edit']){
////数据库操作
echo "修改成功";
}
使用PHP写api接口是经常做的,PHP写好接口后,前台就可以通过链接获取接口提供的数据,而返回的数据一般分为两种情况,xml和json,在这个过程中,服务器并不知道,请求的来源是什么,有可能是别人非法调用我们的接口,获取数据,因此就要使用安全验证
原理
从图中可以看得很清楚,前台想要调用接口,需要使用几个参数生成签名。
时间戳:当前时间
随机数:随机生成的随机数
口令:前后台开发时,一个双方都知道的标识,相当于暗号
算法规则:商定好的运算规则,上面三个参数可以利用算法规则生成一个签名。前台生成一个签名,当需要访问接口的时候,把时间戳,随机数,签名通过URL传递到后台。后台拿到时间戳,随机数后,通过一样的算法规则计算出签名,然后和传递过来的签名进行对比,一样的话,返回数据。
算法规则
在前后台交互中,算法规则是非常重要的,前后台都要通过算法规则计算出签名,至于规则怎么制定,看你怎么高兴怎么来。
我这个算法规则是
时间戳,随机数,口令按照首字母大小写顺序排序
然后拼接成字符串
进行sha1加密
再进行MD5加密
转换成大写。
方法/步骤
将解压的框架包放到的你的php环境的w w w/api目录下:这里建立api目录作为测试项目目录。并运行localhost/api/index.php,就可以看到环境界面了
在对应的目录下修改控制器中的方法:默认在application/controller/welcome.php文件中的
修改welcome.php中的index方法,看到的欢迎页面从这里加载的
开始写我们的api接口吧,写api接口前要链接我们的数据库,配置数据库信息在application/config/database.php中
连接我们配置好的数据库,回到我们的welcome.php中
去github官网中下载codeIgniter支持的api接口包
解压文件包,并将对应的文件放到指定的目录
修改我们控制器的方法名,把index该为index_get,在该方法中实现我们的业务需求。这里只是简单带领大家。没有做过多的操作。
在浏览器中运行我们的接口,根据不同的参数返回不同的数据。
获取的是json数据
localhost/api/index/php?username=张三format=json
获取的是xml数据
localhost/api/index/php?username=张三format=xml
注意事项
PHP环境要PHP 5.2 以上。
框架包要 CodeIgniter 2.1.0 以上哦。