Ошибка при попытке использовать omnipay в sylius

#symfony #sylius #omnipay

#symfony #sylius #omnipay

Вопрос:

Я пытаюсь использовать omnipay с пакетом sylius payum. Когда я пытаюсь просмотреть свое приложение, я получаю следующее

Фатальная ошибка: вызов неопределенного метода PayumBundlePayumBundleDependencyInjectionFactoryPaymentOmnipayPaymentFactory::getSupportedGateways( ) в

Любое предложение о том, что я делаю неправильно?

Спасибо, Юсуф.

Ответ №1:

Если вы устанавливаете последнюю версию Sylius из Master, у вас не должно возникнуть этой проблемы. Если вы посмотрите на упомянутый метод: https://github.com/omnipay/common/blob/v2.0.0/src/Omnipay/Common/GatewayFactory.php#L87

вы можете видеть, что это больше не статический метод.

Пример использования этих методов ранее приведен в:

https://github.com/Payum/PayumBundle/blob/948f3af14bb923463cdfb7d11d49b7103333c6ef/DependencyInjection/Factory/Payment/OmnipayPaymentFactory.php#L60

которые теперь выглядят как:

https://github.com/Payum/PayumBundle/blob/master/DependencyInjection/Factory/Payment/OmnipayPaymentFactory.php#L59

Итак, если вы обновите PayumBundle до версии 0.9.0, все должно быть в порядке (однако я считаю, что в этом пакете необходимы другие изменения, поэтому вам необходимо использовать последнюю версию базы кода Sylius).