<?php

namespace lib\Controllers\DBMS;

use lib\Services\DefenceService;

class DefenceController extends DBMSController
{
    private ?DefenceService $_clientService = null;
    public function __construct()
    {
        parent::__construct();
        $this->getView()->setPath('defence');
    } //
    public function getDefenceService(): DefenceService
    {
        if ($this->_clientService === null) {
            $this->_clientService = new DefenceService();
        }
        return $this->_clientService;
    }

    //방어 defense_index.php
    //CLI 접속방법 : php index.php site/defence/mk/zone/존/parent/부모키/child/자식키
    //WEB 접속방법 : http://localhostsite/defence/mk/zone/존/parent/부모키/child/자식키
    public function mk(array $params): string
    {
        if (!array_key_exists('zone', $params)) {
            throw new \Exception("zone 값이 정의되지 않았습니다.");
        }
        $zone = urldecode($params['zone']);
        $this->entities = $this->getDefenceService()->getMKList($zone);
        $this->zone = $zone;
        return $this->render(__FUNCTION__);
    }
} //Class
