Фатальная ошибка: Uncaught ошибка: Call to member function getToken () on null
class Token {
public $token;
public function __construct(var_dump) {
$this->token = $token;
}
public function getToken() {
return bin2hex(random_bytes(64)); //Generates new token when activating the plugin
}
}
add_action('rest_api_init', function () {
$token = new Token();
function validate() {
$status = http_response_code();
if($status == 200) {
header("Access-Control-Allow-Origin: http://localhost:8080/wordpress_pruebas/");
header("Content-Type: application/json;");
if ($token->getToken() == get_option('tokens_settings').[1]) {
return new WP_REST_Response( array(
'message' => 'Access Successfully',
'version' => 1.0
),
$status ); // Ok
} else {
return new WP_REST_Response( array(
'message' => 'Access Failed',
'version' => 1.0
),
$status ); // Error
}
}
}
register_rest_route( 'authtoken', '/info', array(
'methods' => 'GET',
'callback' => 'validate'
)
);
});
1
1 answers
$token
он невидим для вашей функции validate, поскольку он определен снаружи и недоступен для нее.
Измените свой validate на это
function validate() {
$status = http_response_code();
if($status == 200) {
header("Access-Control-Allow-Origin: http://localhost:8080/wordpress_pruebas/");
header("Content-Type: application/json;");
$token = new Token();
if ($token->getToken() == get_option('tokens_settings').[1]) {
return new WP_REST_Response( array(
'message' => 'Access Successfully',
'version' => 1.0
),
$status ); // Ok
} else {
return new WP_REST_Response( array(
'message' => 'Access Failed',
'version' => 1.0
),
$status ); // Error
}
}
}
4
Author: JDev, 2019-03-29 12:19:45