我被一个我无法解决的错误困住了,我需要帮助。
尝试从命名空间“MangoPay\Test\Mocks”加载类"MockStorageStrategy“。您忘了另一个名称空间的"use“语句了吗?

我的代码:
<?php
namespace App\Service;
use Symfony\Contracts\HttpClient\HttpClientInterface;
use App\Entity\User;
use MangoPay;
use MangoPay\Tests\Mocks\MockStorageStrategy;
class CallApiService
{
private $mangoPayApi;
private $client;
public function __construct(HttpClientInterface $httpClient)
{
$this->client = $httpClient;
$this->mangoPayApi = new MangoPay\MangoPayApi();
$this->mangoPayApi->Config->ClientId = $_ENV['CLIENT_ID'];
$this->mangoPayApi->Config->ClientPassword = $_ENV['API_KEY'];
// $this->mangoPayApi->Config->TemporaryFolder = '/some/path/';
$this->mangoPayApi->OAuthTokenManager->RegisterCustomStorageStrategy(new MockStorageStrategy());
//$this->mangoPayApi->Config->BaseUrl = 'https://api.sandbox.mangopay.com';
}
public function createProfilMango($form)
{
$userMango = $this->client->request(
'POST',
'https://api.sandbox.mangopay.com/v2.01/' . '%env(CLIENT_ID)%' . '/users/natural',
[
$UserNatural = new MangoPay\UserNatural(),
$UserNatural->FirstName = $form['firstname']->getData(),
$UserNatural->LastName = $form['lastname']->getData(),
$UserNatural->Email = $form['email']->getData(),
$UserNatural->Address = new \MangoPay\Address(),
$UserNatural->Address->AddressLine1 = $form['streetNumber']->getData() . $form['address']->getData(),
$UserNatural->Address->AddressLine2 = "",
$UserNatural->Address->City = $form['city']->getData(),
$UserNatural->Address->Region = "",
$UserNatural->Address->PostalCode = $form['zipCode']->getData(),
$UserNatural->Address->Country = "FR",
$UserNatural->Birthday = $form['birthday']->getData(),
$UserNatural->Nationality = $form['nationality']->getData(),
$UserNatural->CountryOfResidence = "FR",
$Result = $this->mangoPayApi->Users->Create($UserNatural),
]
);
return $userMango;
}
}已经检查了命名空间,并且它是正确的,关于http-client和mangopay/php-sdk-v2已经安装的依赖项。
发布于 2022-03-24 14:28:30
使用来自Test命名空间的类有时不会添加到自动加载程序中--因为您不应该在应用程序中使用它们。查看该包的composer.json如下所示:命名空间MangoPay被路由到文件夹MangoPay (请参阅autoload ),而您想要使用的类存储在另一个文件夹中,并且只通过autoload-dev加载。如果您仅在自己的应用程序中使用此包,则不对此部分进行评估。
如果确实希望使用该类MockStorageStrategy (仅为包的内部测试套件提供,而不是应用程序使用),则应该将其复制到自己的应用程序命名空间中。
https://stackoverflow.com/questions/71603154
复制相似问题