Класс webhook не найден при попытке получить и проанализировать authorize.net webhook в файле php - PullRequest
0 голосов
/ 01 февраля 2019

Я продолжаю получать класс не найден.- Класс 'authnet \ AuthnetWebhook' не найден

У меня нет композитора, поэтому я просто скопировал файлы, загруженные с - https://php -download.com / package / stymiee / authnetjson

Я скопировал папку в папку vendor.

Я заменил $ 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);

Ответы [ 2 ]

0 голосов
/ 01 февраля 2019

Если вы используете 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);
0 голосов
/ 01 февраля 2019
use authnet\AuthnetWebhook as AuthnetWebhook;
require 'vendor/stymiee/authnetjson/src/autoload.php';

Вы хотите поменять эти строки.Во-первых, вам нужно запросить файл автозагрузки, чтобы получить доступ к требуемому пространству имен.

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