![]() 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-payment/Observer/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Payment\Observer; use Magento\Framework\DataObject; use Magento\Framework\Event\Observer; use Magento\Framework\Event\ObserverInterface; use Magento\Payment\Model\InfoInterface; use Magento\Payment\Model\MethodInterface; /** * Class AbstractDataAssignObserver * @package Magento\Payment\Observer * @api * @since 100.0.2 */ abstract class AbstractDataAssignObserver implements ObserverInterface { const METHOD_CODE = 'method'; const DATA_CODE = 'data'; const MODEL_CODE = 'payment_model'; /** * Reads method argument * * @param Observer $observer * @return MethodInterface */ protected function readMethodArgument(Observer $observer) { return $this->readArgument($observer, static::METHOD_CODE, MethodInterface::class); } /** * Reads payment model argument * * @param Observer $observer * @return InfoInterface * @since 100.1.0 */ protected function readPaymentModelArgument(Observer $observer) { return $this->readArgument($observer, static::MODEL_CODE, InfoInterface::class); } /** * Reads data argument * * @param Observer $observer * @return DataObject */ protected function readDataArgument(Observer $observer) { return $this->readArgument($observer, static::DATA_CODE, DataObject::class); } /** * Reads argument of certain type * * @param Observer $observer * @param string $key * @param string $type * @return mixed * @throws \LogicException */ protected function readArgument(Observer $observer, $key, $type) { $event = $observer->getEvent(); $argument = $event->getDataByKey($key); if (!$argument instanceof $type) { throw new \LogicException('Wrong argument type provided.'); } return $argument; } }