我正在开发一个API。在这个API中,我需要修改一些已经被选中的用户数据。。(基本上更新dosomething.php页面中的方法)。
所以我知道PUT方法。。但是我有不止一种用户更新的方法。。
所以我的问题是如何让我的dosomething.php页面了解curl正在调用哪个更新方法。
我的卷曲url是
http://localhost/apitest/dosomething.php
我应该从curl请求中获取数据,然后在dosomething.php页面中使用切换用例吗?帮助我,这是正确的做法。
现在由丹尼尔A.怀特说我能这样做吗我的卷曲urlhttp://localhost/apitest/dosomething.php?method=updatemobileno
然后在php中获取这个变量值,并使用它来选择我的特定方法??
您不能使用GET
/POST
/PUT
HTTP请求直接调用PHP方法。您需要调用PHP脚本,然后根据需要路由到适当的方法。
因此,您可以调用curl这样的东西:
$ curl http://localhost/apitest/dosomething.php
然后,dosomething.php
将是一个PHP脚本,接收HTTP请求,在其中,您可以调用适当的方法:
<?php
function f_put() {
// put magic here
}
function f_post() {
// post magic here
}
function f_get() {
// get magic here
}
if ($_SERVER['REQUEST_METHOD'] == 'GET') {
f_get();
} else if if ($_SERVER['REQUEST_METHOD'] == 'POST') {
f_post();
} else if if ($_SERVER['REQUEST_METHOD'] == 'PUT') {
f_put();
}
?>
好吧,我有一个模糊的想法,但不建议使用这个(请有人?)。
考虑
的卷曲帖子请求
curl --data "func=fn_name¶m1=value1¶m2=value2" https://example.com/x.php
现在在文件x.php 中
function fn1($p,$q)
{
}
function fn2($a,$b)
{
}
if($_POST['func']=="fn1")
{
fn1($_POST['param1'],$_POST['param2'])
}
if($_POST['func']=="fn2")
{
fn2($_POST['param1'],$_POST['param2'])
}