我在我的网站上有各种部分,比如博客,论坛,wiki等,我想开发一个API来包含所有这些部分,并允许用户从任何部分提取信息。用于从多个网站部分检索信息的PHP API?
用户还应该能够同时从多个部分获取信息(如最新帖子)并返回结果。 API应该是非常模块化的,以便例如添加另一个博客时允许轻松添加新的部分。
我只是寻找一个正确的方向来开发这样的事情。
谢谢。
我在我的网站上有各种部分,比如博客,论坛,wiki等,我想开发一个API来包含所有这些部分,并允许用户从任何部分提取信息。用于从多个网站部分检索信息的PHP API?
用户还应该能够同时从多个部分获取信息(如最新帖子)并返回结果。 API应该是非常模块化的,以便例如添加另一个博客时允许轻松添加新的部分。
我只是寻找一个正确的方向来开发这样的事情。
谢谢。
对于内容网站,实际的API很少需要,除非您想允许用户和客户发布到您的网站。
你实际上需要做的只是将逻辑与演示分开。
每例如:
$articles = $pdo->query('SELECT * FROM articles')->fetchAll();
if (isset($_GET['type'])) {
switch ($_GET['type']) {
case 'json':
header('Content-Type: application/json');
echo json_encode($articles);
break;
case 'xml':
header('Content-Type: text/xml');
// some array to XML function
break;
}
} else {
include 'my_html_template.phtml';
}
当然,这是一个非常简单的例子。但是,一旦将演示文稿与逻辑分离,您可以轻松创建多种不同格式的模板,这些格式可以由不同客户端(移动应用程序,聚合器服务)使用不同工具(JSON编码器,XML解析器等)进行分析,第三方应用程序等)。
我想你应该探索MVC设计模式在PHP的世界里,沿着你会找到答案你的很多问题的方式开始...
这听起来像你只是想创建一个web service in PHP 。
网站的“部分”不是非常重要,因为服务不需要与网站本身结构相同。可以把它想象成一个独立的站点,位于同一个数据库之上,体积较小,没有UI。
例如,如果您创建了SOAP service,那么您可能只会为网站的每个部分公开一个或两个(或三个等)函数,接受参数以指定要返回的数据。日期范围为博客文章,为论坛帖子的用户ID,用于维基文章搜索字词等
有一些格式,你可以用户提供给您的数据:JSON,XML等
你将不得不有不同的URL来检索数据,例如:
/blog/{id}
- >得到一个博客帖子
/blog/{id}/comments
- >得到了博文评论
/blog/add
- >创建一个博客帖子
等
为
您也可能希望用户之前进行身份验证的一些方法你的所有行动(和部分)允许使用您的API。
只是你可以考虑的一些事情。
谢谢。我没有想过这样做。 – ThunderLegs 2011-06-13 00:35:25