uri_path .= strtolower($this->getService()->getClassName()) . '/'; // $this->view_path .= strtolower($this->getService()->getClassName()) . DIRECTORY_SEPARATOR; $this->class_path = $this->getService()->getClassPath(); $this->title = lang("{$this->getService()->getClassPath()}.title"); $this->helper = $this->getHelper(); // $this->individualStylesheets = ['server_partinfo.css']; // $this->individualScripts = ['server_partinfo.js']; } public function getService(): ServiceService { if (!$this->_service) { $this->_service = new ServiceService($this->request); } return $this->_service; } public function getHelper(): mixed { if (!$this->_helper) { $this->_helper = new ServiceHelper($this->request); } return $this->_helper; } final public function getServerService(): ServerService { if (!$this->_serverService) { $this->_serverService = new ServerService(); } return $this->_serverService; } final public function getServiceServerService(): ServiceServerService { if (!$this->_serviceServerService) { $this->_serviceServerService = new ServiceServerService($this->request); } return $this->_serviceServerService; } final public function getPartService(): PartService { if (!$this->_partService) { $this->_partService = new PartService($this->request); } return $this->_partService; } final public function getServicePartService(): ServicePartService { if (!$this->_servicePartService) { $this->_servicePartService = new ServicePartService($this->request); } return $this->_servicePartService; } final public function getIpService(): IpService { if (!$this->_ipService) { $this->_ipService = new IpService(); } return $this->_ipService; } //Index,FieldForm관련 private function setPartEntity(ServiceEntity $entity): ServiceEntity { foreach ($this->getServicePartService()->getEntities(['serviceinfo_uid' => $entity->getPK()]) as $servicePartEntity) { $partEntity = $this->getPartService()->getEntity($servicePartEntity->getPartInfo()); if ($partEntity) { $entity->addPartEntity($partEntity->getType(), $partEntity); } } return $entity; } protected function index_process(): array { $fields = [ 'fields' => ['type', 'billing_at', 'rack', 'SERVER', 'IP', 'CPU', 'RAM', 'DISK', 'SOFTWARE', 'DEFENCE', 'start_at', 'status'], ]; $this->init('index', $fields); $this->modal_type = 'modal_iframe'; $entities = []; foreach (parent::index_process() as $entity) { $entities[] = $this->setPartEntity($entity); } return $entities; } }