PHP和MySQL
在构建动态网站(可以是个人,网络应用等)时,是否适合使用API请求调用而不是MySQL查询?
我的函数getArticles()
中的示例,我应该使用本机MySQL查询,如:
$sql = 'SELECT id, title, content
FROM r_articles'
$result = mysql_query($sql) or die ('.. bla bla');
或者,只需执行一个GET请求:http://mysite.com/api/articles
。然后(应该是JSON中的响应)格式化响应。
注意:首先要创建API。
答案 0 :(得分:6)
这完全取决于您网站的类型。 如果您正在构建一个只有Web界面的小项目,请继续使用您的mysql调用。
如果您正在建立一个规模越来越大并且提供多项服务的网站,例如:已经计划好了android / iPhone应用程序,构建api并让两个应用程序都使用它。 API非常适合可扩展性并为许多客户提供服务。 但是,对于网络表示,例如对于你的当地人来说牙医只是头顶上的。
答案 1 :(得分:1)
我的两分钱:
我认为很多都取决于应用程序。如果期望广泛部署应用程序(通过企业/等),使得多个站点需要访问此应用程序所执行的相同对象,则查询Web服务以查找您的Article对象可能会导致更清洁,更多可重复使用的代码。
与此同时,我认为还有一些额外的工作涉及工程和实现这种解决方案,还有一些额外的开销涉及从PHP脚本进行额外的GET请求来进行这种处理。此外,可能存在安全风险,使得可能需要检查这样的外部接口。
因此,我的建议是保持对象很好地封装并使用SQL构建它们,如果站点是本地的和/或小的(因为总有选择通过SOAP或JSON提供它们或者你以后有什么,如果你做对了 :)。另一方面,如果这将是一个更大规模的分布式应用程序,那么我会投票花费时间在一开始构建某种服务框架API thingamajig,因为你以后可能会需要它
答案 2 :(得分:1)
就个人而言,我发现这种方法非常棒。如果您知道将来会使用该API,它可以确保您的API具有与网站相同的功能并整合您的所有逻辑。缺点是你可能会有一些额外的开销。
P.S。根据您的服务/网站的预期大小,您可能希望将该API放在其子域(api.website.com)上。