我正在尝试为我在php中编写的函数编写一个简单的Web服务,我将为另一台服务器提供该函数。我从来没有做过,也不知道在哪里以及如何开始它。我试过一些网站,但在中间迷路了。有没有人知道一个简单的文档,模板,网站,例子......所以我可以快速入手?
答案 0 :(得分:2)
当我开始编写自己的Web服务时,这是一个很棒的教程。 David Walsh FTW!
它使用PHP / MySQL,输出为JSON和/或XML
答案 1 :(得分:2)
您尝试过哪些资源?关于O'Reilly PHP Devcenter的Developing Web Services Using PHP上有一篇很好的文章,它非常全面且易于理解。
答案 2 :(得分:2)
您可以创建一个没有库的非常简单的JSON / JSONP API。
这是一个非常基本的示例,您将获取一个数据数组,然后JSON编码该数组并返回JSON或JSONP,具体取决于请求:
$data = array();
//....do something to prepare your data....
if(isset($_GET['callback'])) {
$callback = preg_replace("/[^A-Za-z0-9\.]/", '', $_GET['callback']);
header("Content-type: application/javascript");
echo $callback . "(" . json_encode($data) . ");";
}
else{
header("Content-type: application/json");
echo json_encode($data); //JSON
}
答案 3 :(得分:2)
那么,本质上是一个REST服务?
基本上,你需要一个位于服务器上的脚本并等待一些东西来调用它,无论是否有输入,取决于你是否需要向其发送信息进行处理,或者它是否只返回没有过滤器的信息管他呢。处理信息看起来很像是从本地页面处理表单,因为您可能会使用cURL在GET或POST中发送请求,但如果使用$ _GET,您也可以执行类似file_get_contents(“http://www.server.com/RESTscript.php?id=23”)的操作。
当请求进入时,脚本会获取发送的信息并对其进行处理并返回信息,可能采用JSON格式,使用json_encode()/ json_decode()或XML格式,然后调用REST服务的脚本将具有该信息用它做任何你想做的事。
所以,对于一个小的,快速的,肮脏的和静态的例子:
//You would use whatever scripting to build the needed array
//Also, note that the only output on the script should be what is being returned to the caller
$requested = array('id' => 23, 'name' => 'John Smith', 'info' => 'abcdefghijklmnopqrstuvwxyz');
echo json_encode($requested);
并且调用脚本会执行以下操作:
$request = json_decode(file_get_contents("http://www.server.com/REST.php?optional=value"));
这将使$ request一个数组与$ request相同,或者它可能使它成为stdobj,不确定,忘记哪一个。无论哪种方式,易于使用。这就是所需要的,就像你可以获得的简单无用的Web服务一样。
答案 4 :(得分:1)
为了让您知道,它与任何其他Web应用程序一样。没有不同。处理>输入数据并打印输出结果。 - 5秒前Col. Shrapnel
1 - 接受输入 2过程输入 3 - 返回结果
1-接受输入。您的代码几乎被视为一个表单,并将信息传递给它以使用Web请求进行操作
2-过程输入 - 使用输入,但您需要提供返回结果
3-返回结果 - 吐出结果类似于从php输出html页面的方式,尽管格式就像调用系统所期望的那样(html,json等)
答案 5 :(得分:0)
这里有很多PEAR个库,其中一个可以很好地满足您的需求。