0

我有一个图书馆说这样的话

function createCompany($json) {
  ...
}

function readCompany($json) {
  ...
}

function updateCompany($json) {
  ...
}

我想通过 API 公开它们,格式如下
http:// ... /api/api.php?fxn=updateCompany&jsn={"somejson":true}
http:// ... /api/api. php?fxn=readCompany&jsn={"somejson":false}

有没有直接的方法可以直接将上述方法公开为 API。

4

1 回答 1

1

出于安全原因,我建议使用类。你应该过滤你的 fxn var。我为你做了一个小例子,但 json 必须通过 $_POST 而不是通过 $_GET 传递:

<?php

class myclass {

    public function mymethod1($json) {        
        echo "mymethod1 called with argument:".var_export(json_decode($json),true);
    }

    public function mymethod2($json) {        
        echo "mymethod2 called with argument:".var_export(json_decode($json),true);
    }

    public function mymethod3($json) {        
        echo "mymethod3 called with argument:".var_export(json_decode($json),true);
    }
}

if(isset($_REQUEST['fxn'])) {

    $fxn = $_REQUEST['fxn'];
    $class = new myclass();
    if(method_exists($class, $fxn)) {

        $json = isset($_POST['jsn'])?$_POST['jsn']:"";

        $class->$fxn($json);
    }

}

?>
于 2013-09-06T11:03:27.940 回答