我的网站上有各种各样的部分,例如博客,论坛,维基等,我想开发一个包含所有这些部分的API,并允许用户从任何部分提取信息。
用户还应该能够一次从多个部分提取信息(例如最新帖子)并返回结果。 API应该是非常模块化的,以便在添加其他博客时允许轻松添加新部分。
我只是在寻找一个正确的方向来开发这样的东西。
感谢。
答案 0 :(得分:0)
我认为你应该从在PHP世界中探索MVC设计模式开始,沿途你将找到许多问题的答案......
答案 1 :(得分:0)
听起来你只是想创建一个web service in PHP。
网站的“部分”并不十分重要,因为该服务的结构不需要与网站本身相同。可以把它想象成一个位于同一数据库之上的独立站点,更小,没有UI。
例如,如果您创建SOAP service,那么您可能只是为站点的每个部分公开一个或两个(或三个等)函数,接受参数以指定要返回的数据。博客文章的日期范围,论坛帖子的用户ID,维基文章的搜索术语等。
答案 2 :(得分:0)
您可以使用一些格式来提供数据:JSON,XML等。
您必须使用不同的网址来检索数据,例如:
/blog/{id}
- >得到一篇博文
/blog/{id}/comments
- >获得博客评论
/blog/add
- >创建一个博客帖子
等
用于所有操作(和部分)
在允许用户使用您的API之前,您可能还需要某种身份验证方式。
你能想到的一些事情。
答案 3 :(得分: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解析器等)由不同的客户端进行解析(移动应用程序,聚合器服务) ,第三方应用程序等。)。