无法制作自定义签名验证器 class [Laravel 8 Spatie Webhook 客户端]

Can't make a custom Signature validator class [Laravel 8 Spatie Webhook Client]

我是初学者,我正在尝试制作自定义签名验证器 class 并按照 Spatie 文档制作了实现 Spatie\WebhookClient\SignatureValidator\SignatureValidator 的文件 CustomSignatureValidator.php 但我出现以下错误:

App/Handler/CustomSignatureValidator 不是有效的签名验证 class。有效的签名验证器是实现 Spatie\WebhookClient\SignatureValidator\SignatureValidator

的 class

这是它的样子:

 <?php
    
    namespace App\Handler\CustomSignatureValidator;
    
    use Illuminate\Http\Request;
    use Spatie\WebhookClient\Exceptions\WebhookFailed;
    use Spatie\WebhookClient\WebhookConfig;
    use Spatie\WebhookClient\SignatureValidator\SignatureValidator;
    
    class CustomSignatureValidator implements SignatureValidator
    {
        public function isValid(Request $request, WebhookConfig $config): bool
        {
            return true;
        }
    }

我也试过使用

use Spatie\WebhookClient\SignatureValidator\SignatureValidator as SignatureValidator;

但是我也遇到了同样的错误。

如果你能告诉我我做错了什么,我将不胜感激。

我觉得你有太多了CustomSignatureValidator。您的命名空间是 App\Handler\CustomSignatureValidator,这意味着您的 class 将是 App\Handler\CustomSignatureValidator\CustomSignatureValidator.

我猜这个错误不是因为你的 class 没有实现正确的接口,而是自动加载器找不到它。

尝试从您的命名空间中删除 CustomSignatureValidator,这将导致您的 class 变为 App\Handler\CustomSignatureValidator,Laravel 应该能够找到它。