/** * @param array $data * * @throws \Elastica\Exception\InvalidException * * @return self */ protected static function _createFromArray(array $data) { if (!isset($data['script'])) { throw new InvalidException("\$data['script'] is required"); } $script = new self($data['script']); if (isset($data['lang'])) { $script->setLang($data['lang']); } if (isset($data['params'])) { if (!is_array($data['params'])) { throw new InvalidException("\$data['params'] should be array"); } $script->setParams($data['params']); } return $script; }