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(): LineService { if (!$this->_service) { $this->_service = new LineService(); } return $this->_service; } public function getHelper(): LineHelper { if (!$this->_helper) { $this->_helper = new LineHelper(); } return $this->_helper; } final public function getIpService(): IpService { if (!$this->_ipService) { $this->_ipService = new IpService(); } return $this->_ipService; } //Index,FieldForm관련 //생성 protected function create_process(array $formDatas): LineEntity { //Line 등록 if (!$this->getHelper()->isValidCIDR($formDatas['bandwith'])) { throw new \Exception("{$formDatas['bandwith']}는 CIDR 형식에 부합되지 않습니다."); } $entity = parent::create_process($formDatas); //Prefixed IP to array 등록 foreach ($this->getHelper()->cidrToIpRange($formDatas['bandwith']) as $ip) { $this->getIpService()->createByLineInfo($entity, $ip); } return $entity; } }