将参数发送到PHP回调

时间:2017-07-14 06:37:50

标签: php wordpress wp-api

我使用wordpress wp-api创建了一些端点,我接到了这个电话:

    register_rest_route('1.00', '/trial/confirm', array(
        'methods' => 'POST',
        'callback' => array($trial_service, 'callback_confirm'),
        'permission_callback' => array($this, 'check_permission_master'),
        'args' => array(
            'token' => array(
                'required' => true,
                'sanitize_callback' => 'esc_attr'
            )
        )
    ));

我想知道如何将超出$ request的参数传递给permission_callback函数。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您不能向该函数发送更多参数,但您可以创建一个包含方法check_permission_master的类。然后将所有需要的参数传递给该类(例如,在构造上)。然后在check_permission_master中使用它们。例如:

class Permissions
{
    protected $param1;
    protected $param2;

    public function __construct($param1, $param2)
    {
        $this->param1 = $param1;
        $this->param2 = $param2;
    }

    public function check_permission_master($request)
    {
        ...
    }
}

然后在您的代码中使用它:

$permissions = new Permissions(...);
...

   'permission_callback' => array($permissions, 'check_permission_master'),

...