目前在我的基于 PHP 的应用程序中,我使用一个文件,例如services.php并通过 AJAX 调用它以返回适当的数据。
为了调用某个方法,我在 GET 中发送一个参数。例如services.php?action=read_article。从这一点开始,它将触发一个巨大的 switch 语句,直到找到合适的情况并返回我正在寻找的数据。
从技术上讲,一切正常,但我不禁觉得这不是正确的方法。
有没有更好的方法在 PHP 中实现 Web 服务?
目前在我的基于 PHP 的应用程序中,我使用一个文件,例如services.php并通过 AJAX 调用它以返回适当的数据。
为了调用某个方法,我在 GET 中发送一个参数。例如services.php?action=read_article。从这一点开始,它将触发一个巨大的 switch 语句,直到找到合适的情况并返回我正在寻找的数据。
从技术上讲,一切正常,但我不禁觉得这不是正确的方法。
有没有更好的方法在 PHP 中实现 Web 服务?
这是一个关于如何使用 PHP 创建 RESTful api 的非常好的教程。
动作开关很好,如果你使用 OOP,你可以让它调用各种方法来保持它的小,比如..
switch ($_GET['action']) {
case "blah":
return $this->doBlah();
break;
case "foo":
return $this->doFoo();
break;
default:
return $this->doError();
}
或者,您可以做其他框架所做的事情,并将 URL 映射到类似的方法中。
/services/read/
映射到类“服务”和方法“读取”看看 Codeigniter 是如何做到这一点的。
使用 amfphp 之类的东西,它集成到许多语言和应用程序中,您可以编写自己的服务类来根据您的需要处理几乎任何输入/输出。我为 iphone、android 和 pc 重复使用相同的服务。链接:http ://www.silexlabs.org/amfphp/