Fatal error: Class 'HttpRequest' not found in C:\xampp\htdocs\test

Fatal error: Class 'HttpRequest' not found in C:\xampp\htdocs\test

出于安全目的,我的网站正在使用 infobip 2 因素身份验证。我在他们的网站上得到了一些代码,它显示

之类的错误
Fatal error: Class 'HttpRequest' not found in C:\xampp\htdocs\test\OTP\send.php on line 2

代码如下:

Send.php

<?php
$request = new HttpRequest();
$request->setUrl('https://oneapi.infobip.com/2fa/1/pin');
$request->setMethod(HTTP_METH_POST);
$request->setHeaders(array
  ('accept' => 'application/json'
  ,'content-type' => 'application/json'
  ,'authorization' => 'App SECRET_KEY'));
  $request->setBody('{
  "applicationId": "YOUR_APPLICATION_ID",
  "messageId": "YOUR_MESSAGE_ID",
  "to": "PHONE_NUMBER"
}');

try
    {
        $response = $request->send();
        echo $response->getBody();
    } 
    catch (HttpException $ex) 
    {
        echo $ex;
    }
?>

下面的请求代码也显示了

Fatal error: Class 'HttpRequest' not found in C:\xampp\htdocs\test\OTP\request.php on line 3

request.php

<?php
$request = new HttpRequest();
$request->setUrl('https://oneapi.infobip.com/2fa/1/pin/{PIN_ID}/verify');
$request->setMethod(HTTP_METH_POST);
$request->setHeaders(array('accept' => 'application/json', 'content-type' => 'application/json','authorization' => 'App YOUR_API_KEY'
));
$request->setBody('{"pin": "PIN_CODE"}');

try
   {
       $response = $request->send();
       echo $response->getBody();
   }   
   catch (HttpException $ex) 
   {
       echo $ex;
   }
?>

好的,假设您在同一文件夹中有一个文件 HttpRequest.php,并且该文件中有

 class HttpRequest {
    ...
}

然后在调用它之前的某个地方,您需要告诉 php 它。这是使用四种方法之一完成的,但我会这样做

require_once __DIR__.'/HttpRequest.php'; //assuming it's in the same folder.

记住这不是魔法,它只是计算机代码。它只知道你告诉它什么。我也希望您从中获得代码的地方会有一些关于如何安装设置的基本说明,并且您会阅读它。

现在不要混淆你,但选择是

include
include_once
require
require_once

我把这些放在这里只是为了说明,事情(通常)就是他们在编程中所说的。所以include,include吧,加上*_once,只做一次,require如果在指定的位置没有找到就会抛出错误,从而成为required。而 include 并不真正关心它是否实际包含。

祝你好运!编码愉快。