你能在PHP中使用REST吗?如果是,怎么做?
我正在开发自己的PHP库,我想从API调用RESTful web服务。这可以用PHP实现吗?如果可以,那么实现这一点的基础是什么?您可能想看看本文和后续文章: 你的问题非常开放,因此本教程可能是最好的起点 上面的链接不再有效,请查看本教程:你能在PHP中使用REST吗?如果是,怎么做?,php,rest,restful-architecture,Php,Rest,Restful Architecture,我正在开发自己的PHP库,我想从API调用RESTful web服务。这可以用PHP实现吗?如果可以,那么实现这一点的基础是什么?您可能想看看本文和后续文章: 你的问题非常开放,因此本教程可能是最好的起点 上面的链接不再有效,请查看本教程: 回到前面,并确保您理解这意味着什么。因为REST是HTTP协议的相同方法在客户机-服务器架构设计中的应用,PHP已经很好地处理HTTP协议请求,如GET和POST。PHP特别适合于简化REST服务的开发 记住REST是已经存在的相同http模式的应用程序
回到前面,并确保您理解这意味着什么。因为REST是HTTP协议的相同方法在客户机-服务器架构设计中的应用,PHP已经很好地处理HTTP协议请求,如GET和POST。PHP特别适合于简化REST服务的开发 记住REST是已经存在的相同http模式的应用程序 因此,如果您当前有一个执行以下操作的应用程序:
并且还添加了最后一条注意事项,即当适当的PUT或DELETE方法对您的api有意义时,您应该实现该方法。如果您考虑的是客户端的问题,我建议查看Matt Sukowski的PEST 您将在GitHub上找到存储库: 还可以查看此线程: 2013年12月13日更新:
这是一个非常活跃的开源项目,Matt Sukowsky在今年夏天把它交给了新的管理员,因为他觉得自己没有足够的时间,从那时起,已经有了很多很多承诺。因此,在PHP中使用Rest比以往任何时候都好:)我开发了一个与PHP原生SoapServer类的Rest等价的类 您只需包含RestServer.php文件,然后按如下方式使用它
class Hello
{
public static function sayHello($name)
{
return "Hello, " . $name;
}
}
$rest = new RestServer(Hello);
$rest->handle();
然后你可以这样打电话:
http://myserver.com/path/to/api?method=sayHello&name=World
(请注意,在查询字符串中提供参数的顺序无关紧要。此外,参数键名称和方法名称不区分大小写。)-1:对不起,默认情况下没有语言是REST。例如,在REST中,POST请求与GET请求非常不同,您还需要支持DELETE和PUT。@吉姆·费兰斯-为什么必须支持DELETE?@elviejo-如果您查看stackoverflow的url,您将看到REST url。这不是PHP在解析过程中默认做的事情,因为没有问号。@James Black StackOverflow进行了漂亮的url重写,这一事实并没有让它多少休息。so.com/questions/1628628是一个有效的REST调用,如下所示:so.com/questions.php?id=1628628这两个调用都使用http协议的get方法。@吉姆·费兰斯:在我的回答中添加了一些澄清,试图解决您的问题。+1:抵消否决票,这是合理的(如果含糊不清的话)问题。我想他问的是关于处理PUT和DELETE请求方法的问题,所以我不认为这是一个无效的问题。让这个问题继续问吧,你们这些固执的人;你想证明什么?它有超过43000个视图,是PHP+REST的第五个Google结果。停止扼杀这个网站所代表的东西——毫无意义的问题。@kaziTanvirAhsan——谢谢你,加入一个更好的链接为什么这个类不区分HTTP协议?我没有必要在我最初使用它的应用程序中使用它。你可以随意地用叉子叉它,然后改进它。