2011-06-10 47 views
0

我在我的网站上有各种部分,比如博客,论坛,wiki等,我想开发一个API来包含所有这些部分,并允许用户从任何部分提取信息。用于从多个网站部分检索信息的PHP API?

用户还应该能够同时从多个部分获取信息(如最新帖子)并返回结果。 API应该是非常模块化的,以便例如添加另一个博客时允许轻松添加新的部分。

我只是寻找一个正确的方向来开发这样的事情。

谢谢。

回答

0

对于内容网站,实际的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解析器等)进行分析,第三方应用程序等)。

+0

谢谢。我没有想过这样做。 – ThunderLegs 2011-06-13 00:35:25

0

我想你应该探索MVC设计模式在PHP的世界里,沿着你会找到答案你的很多问题的方式开始...

0

这听起来像你只是想创建一个web service in PHP

网站的“部分”不是非常重要,因为服务不需要与网站本身结构相同。可以把它想象成一个独立的站点,位于同一个数据库之上,体积较小,没有UI。

例如,如果您创建了SOAP service,那么您可能只会为网站的每个部分公开一个或两个(或三个等)函数,接受参数以指定要返回的数据。日期范围为博客文章,为论坛帖子的用户ID,用于维基文章搜索字词等

0

有一些格式,你可以用户提供给您的数据:JSON,XML等

你将不得不有不同的URL来检索数据,例如:

/blog/{id} - >得到一个博客帖子

/blog/{id}/comments - >得到了博文评论

/blog/add - >创建一个博客帖子

您也可能希望用户之前进行身份验证的一些方法你的所有行动(和部分)允许使用您的API。

只是你可以考虑的一些事情。