![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-vault/Model/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Vault\Model; use Magento\Framework\ObjectManagerInterface; use Magento\Vault\Api\Data\PaymentTokenFactoryInterface; use Magento\Vault\Api\Data\PaymentTokenInterface; /** * PaymentTokenFactory class * @api * @since 101.0.0 */ class PaymentTokenFactory implements PaymentTokenFactoryInterface { /** * @var array */ private $tokenTypes = []; /** * @var ObjectManagerInterface */ private $objectManager; /** * PaymentTokenFactory constructor. * @param ObjectManagerInterface $objectManager * @param array $tokenTypes */ public function __construct(ObjectManagerInterface $objectManager, array $tokenTypes = []) { $this->objectManager = $objectManager; $this->tokenTypes = $tokenTypes; } /** * Create payment token entity * @param $type string * @return PaymentTokenInterface * @since 101.0.0 */ public function create($type = null) { /** * This code added for Backward Compatibility reasons only, as previous implementation of Code Generated factory * accepted an array as any other code generated factory */ if (is_array($type)) { return $this->objectManager->create( PaymentTokenInterface::class, $type ); } if ($type !== null && !in_array($type, $this->tokenTypes, true)) { throw new \LogicException('There is no such payment token type: ' . $type); } return $this->objectManager->create( PaymentTokenInterface::class, ['data' => [PaymentTokenInterface::TYPE => $type]] ); } }