ID = env('BITRIX_CODE_PREFIX', '') . $id; $data = array_change_key_case($data, CASE_UPPER); $finalData = $this->castConstants($data); $this->data = $finalData; return; } private function castConstants($data) { $finalData = []; $refl = new \ReflectionClass(__CLASS__); $constants = $refl->getConstants(); foreach ($constants as $constName => $constValue) { foreach ($data as $key => $value) { if ($constName == $key) { $finalData[$constValue] = $value; break; } } } return $finalData; } public function send() { $data = [ 'IBLOCK_TYPE_ID' => $this->IBLOCK_TYPE_ID, 'IBLOCK_ID' => $this->IBLOCK_ID, 'ELEMENT_CODE' => $this->ID, 'FIELDS' => $this->data ]; $sender = new BitrixSender($this->URL, $data); return $sender->send(); } }