/** * @param \Spryker\Shared\Transfer\TransferInterface $transfer * * @return array */ protected function transferToArray(TransferInterface $transfer) { $transferArray = $transfer->toArray(); foreach ($transferArray as $key => $value) { if ($value instanceof ArrayObject) { $data[$key] = []; } if (is_array($value) && current($value) instanceof TransferInterface) { foreach ($value as $position => $transfer) { $value[$position] = $this->transferToArray($transfer); } } } return $transferArray; }
/** * @param \Spryker\Shared\Transfer\TransferInterface $transferObject * * @return $this */ public function setTransfer(TransferInterface $transferObject) { $this->values['transfer'] = $transferObject->toArray(false); $this->values['transferClassName'] = get_class($transferObject); return $this; }
/** * @param string $name * @param \Spryker\Shared\Transfer\TransferInterface $transferObject * * @return $this */ public function addMetaTransfer($name, TransferInterface $transferObject) { $this->values['metaTransfers'][$name] = ['data' => $transferObject->toArray(false), 'className' => get_class($transferObject)]; return $this; }
/** * @param string $name * @param \Spryker\Shared\Transfer\TransferInterface $transferObject * * @return void */ public function set($name, TransferInterface $transferObject) { $this->session->set($name, $transferObject->toArray(false)); }