content_title = lang("{$this->getService()->getClassName()}.title"); $this->class_path .= $this->getService()->getClassName(); $this->uri_path .= strtolower($this->getService()->getClassName('/')) . '/'; // $this->view_path .= strtolower($this->getService()->getClassName()) . DIRECTORY_SEPARATOR; } public function getService(): ClientService { if (!$this->_service) { $this->_service = new ClientService(); } return $this->_service; } public function getHelper(): ClientHelper { if (!$this->_helper) { $this->_helper = new ClientHelper(); } return $this->_helper; } //Index,FieldForm관련 //생성관련 protected function create_process(array $formDatas): ClientEntity { // 관리자 UID는 현재 인증된 사용자로 설정 $formDatas['user_uid'] = $this->getMyAuth()->getUIDByAuthInfo(); $entity = parent::create_process($formDatas); // 생성 후, Client 코드값 재정의 $format = env("Client.Prefix.{$formDatas['site']}.code.format", false); if (!$format) { throw new \Exception(__METHOD__ . "에서 code의 prefix가 정의되지 않았습니다."); } $this->getService()->modify( $entity, ['code' => sprintf($format, (int) $entity->getPK() + 1000)] ); return $entity; } //수정관련 protected function modify_process(mixed $entity, array $formDatas): ClientEntity { // 관리자 UID는 현재 인증된 사용자로 설정 $formDatas['user_uid'] = $this->getMyAuth()->getUIDByAuthInfo(); return parent::modify_process($entity, $formDatas); } protected function doValidation(Validation $validation, string $field, string $rule): Validation { switch ($field) { case 'role': //아래 Rule Array는 필드명.* checkbox를 사용 $validation->setRule("{$field}.*", $field, $rule); break; default: $validation = parent::doValidation($validation, $field, $rule); break; } return $validation; } //Index,FieldForm관련. }