1

我一直找不到类。- 未找到“authnet\AuthnetWebhook”类

我没有作曲家,所以只是复制了从 - https://php-download.com/package/stymiee/authnetjson下载的文件

我已经在文件夹 vendor 下复制了文件夹 stymiee。

我已将 $signaturekey 替换为原始密钥。

这是我的代码

use authnet\AuthnetWebhook as AuthnetWebhook;
require 'vendor/stymiee/authnetjson/src/autoload.php';


$headers = getallheaders();
$payload = file_get_contents("php://input");
$webhook = new AuthnetWebhook($signaturekey, $payload, $headers);
4

2 回答 2

0
use authnet\AuthnetWebhook as AuthnetWebhook;
require 'vendor/stymiee/authnetjson/src/autoload.php';

你想交换这些线。首先,您需要要求自动加载文件,这样您就可以访问所需的命名空间。

require 'vendor/stymiee/authnetjson/src/autoload.php';
use authnet\AuthnetWebhook as AuthnetWebhook;
于 2019-02-01T09:16:53.353 回答
0

如果您使用Composer管理您的依赖项,管理自动加载的最简单和最好的方法是加载由 Composer 生成的自动加载文件,而不是每个包中包含的自动加载文件:

require __DIR__.'/vendor/autoload.php';

这将包括Composer 管理的所有依赖项的自动加载器。然后你可以调用你的use语句和其余的代码。我__DIR__用来确保在包含该文件时获得正确的相对路径。您可能需要调整路径以匹配您的设置。

require __DIR__.'/vendor/autoload.php';
use authnet\AuthnetWebhook as AuthnetWebhook;

$headers = getallheaders();
$payload = file_get_contents("php://input");
$webhook = new AuthnetWebhook($signaturekey, $payload, $headers);

如果您不使用 Composer 来管理您的依赖项,您将需要像您当前所做的那样直接引用每个包的自动加载器。但是您仍然需要在引用该包中的代码之前加载它。

require 'vendor/stymiee/authnetjson/src/autoload.php';
use authnet\AuthnetWebhook as AuthnetWebhook;

$headers = getallheaders();
$payload = file_get_contents("php://input");
$webhook = new AuthnetWebhook($signaturekey, $payload, $headers);
于 2019-02-01T13:08:57.630 回答