database = $database; $this->settings = $settings; $this->templates = $templates; $this->tables = $tables; $this->view = new \cx_appengine\view($_POST); } protected function get_settings() : settings { return $this->settings; } protected function get_database() : \wpdb { return $this->database; } protected function get_templates() : \cx_appengine\templates { return $this->templates; } protected function get_view() : \cx_appengine\view { return $this->view; } protected function get_tables() : table_names { return $this->tables; } protected function add_activity(string $name) : self { $activity = new $name( $this->get_database(), $this->get_settings(), $this->get_templates(), $this->get_tables() ); $this->get_view()->add_activity($activity); return $this; } public function action() : void { $this->process(); echo( $this ->get_view() ->prepare() ->choose() ->validate() ->process() ->render() ->get() ); } private \cx_appengine\view $view; private \wpdb $database; private settings $settings; private table_names $tables; private \cx_appengine\templates $templates; }