Php 如何为我的网站制作api

Php 如何为我的网站制作api,php,Php,我正在创建一个评论网站,其中一个功能是你可以从另一个网站上获得一个显示你的5星级(*)评级的API 我想知道最好的办法是什么 我曾想过只使用iframe,但这似乎不是最好的解决方案 我希望通过javascript来实现,比如facebook和twitter,有什么想法吗?你可以创建一个基于PHP的函数库或类,就像facebook提供的那样。它们为开发者提供了一个类,能够通过给定用户的凭证与Facebook服务器进行通信;并通过这个拉个人资料信息,画廊,朋友名单等。。它也是通过Facebook服务

我正在创建一个评论网站,其中一个功能是你可以从另一个网站上获得一个显示你的5星级(*)评级的API

我想知道最好的办法是什么

我曾想过只使用iframe,但这似乎不是最好的解决方案


我希望通过javascript来实现,比如facebook和twitter,有什么想法吗?

你可以创建一个基于PHP的函数库或类,就像facebook提供的那样。它们为开发者提供了一个类,能够通过给定用户的凭证与Facebook服务器进行通信;并通过这个拉个人资料信息,画廊,朋友名单等。。它也是通过Facebook服务器授权的。你可能会从中得到很多灵感——甚至是源代码(它是提供的,但我不确定它实际上是开源的)。当然,构建如此庞大的API来显示评级是没有必要的,但如果您想学习“以正确的方式”编写API,我认为这是一个寻找灵感的好地方


另一件事是,您可以使用服务器端脚本或AJAX脚本通过HTTP获取信息,后者在加载通用网站后运行服务器端脚本。您可能希望选择后者,因为提取HTTP信息会降低整个脚本的执行速度。

使用动态图像更好一些

//Url would be something like: http://mysite/api/userrating.php?id=userchecked
$user = mysql_fetch_assoc(mysql_query('SELECT * FROM users WHERE username = "'.mysql_real_escape_string($_GET['id']).'"'));

//Return a header to the caller that points towards the right 5 star image
header('location: http://mysite/api/userrating'.$user['rating'].'.jpg');

显然,这个例子不是很安全,需要付出更多的努力,但它给了你一个大致的想法…

一些Facebook小部件确实使用iFrame。Twitter使用javascript,它最有可能与服务器上的Ajax脚本交互,并将HTML代码返回输出到作为小部件嵌入代码一部分的HTML元素。两种方法都有效

基于Javascript和PHP的示例(无Ajax):

嵌入代码

<script type="text/javascript">

width = 527;
height = 95;

</script>
<script type="text/javascript" src="http://www.mysite.com/widget.js"></script>

宽度=527;
高度=95;
widget.js

document.write('<iframe scrolling="no" frameborder="0" width="' + width + '" height="' + height + '" src="http://www.mysite.com/showdata.php?height=' + height + '&width=' + width + '" style="border: 1px solid #6c82b5;"></iframe>');
document.write(“”);

showdata.php可以是任何想要显示任何数据的php脚本。你可以像我在这里所做的那样,通过javascript传递变量,让用户在设计和颜色方面有一定的灵活性。

谢谢mark ajax是个好主意,这意味着我可以编写一组函数来获取js文件中的内容,让他们在页面上想调用的地方调用它,谢谢。这是谷歌Adsense工作原理的一个非常淡化的版本。当然,Adsense要复杂得多,有更多的功能,但这是他们的广告横幅是如何做的一般想法。