class_name .= "Account"; $this->layout = LAYOUTS['admin']; $this->title = lang("{$this->class_name}.title"); $this->session = $this->session_AuthTrait(); helper($this->class_name); } final protected function getModel(): AccountModel { if ($this->_model === null) { $this->_model = new AccountModel(); } return $this->_model; } protected function create_init(): void { $this->fields = [$this->getModel()::TITLE, 'apikey', 'status']; $this->filter_fields = ['status']; $this->action = DB_ACTION["CREATE"]; $this->getModel()->setAction($this->action); } public function create_form(): RedirectResponse|string { return $this->create_form_process(); } protected function create_process_submit(): AccountEntity { $account = new Account(); return $account->create($this->formDatas); } public function create(): RedirectResponse { return parent::create_process(); } }