关于宝塔面板POST的问题

最近在研究通过宝塔API写个windows端的软件。用POST方式来实现。

    //示例取面板日志 
    public function GetLogs(){
        //拼接URL地址
        $url = $this->BT_PANEL.$_POST['/data?action=getData'];

        //准备POST数据
        $p_data = $this->GetKeyData();      //取签名
        $p_data['table'] = 'sites';
        $p_data['limit'] = 15;


        //请求面板接口
        $result = $this->HttpPostCookie($url,$p_data);

        //解析JSON数据
        $data = json_decode($result,true);
        return $data;
    }

这是官方DEMO的代码。
开发文档见:https://www.bt.cn/api-doc.pdf
本来是PHP处理的。我想通过api来定义链接地址。
于是把地址改成了API
$url = $this->BT_PANEL.$_POST['api'];
问题来了。
p_data里已经定义了准备提交的POST数据。
我想实现p_data里的数据由我提供。
比如api=/site?action=AddSite&webname=1&path=2
后面的参数根据前面的地址名称有改动。
简单来讲就是不要固定在PHP里面。。。。。
那么要怎么修改这个PHP文件实现我说的这种呢。。。。。
求大神解决。这里PHP萌新,需要实例。。。。谢谢

        $p_data['table'] = 'sites';
        $p_data['limit'] = 15;
                这里的参数名和=值,都可以换成变量啊,就可以改成你要的了