ruleset = new Ruleset(strict: true); $this->ruleset->GET([ (new Rules(ActionsTable::REF_WORK_ID->value)) ->type(Type::STRING) ->min(1) ->max(parent::MYSQL_VARCHAR_MAX_LENGTH) ]); $ruleset->validate_or_exit(); parent::__construct(); } public function main(): Response { $response = $this->db->for(ActionsTable::NAME) ->where($_GET) ->select([ ActionsTable::REF_WORK_ID->value, ActionsTable::DISPLAY_TEXT->value, ActionsTable::HREF->value, ActionsTable::CLASS_LIST->value ]); return $response->num_rows > 0 ? new Response(parent::index_array_by_key($response->fetch_all(MYSQLI_ASSOC), ActionsTable::REF_WORK_ID->value)) : new Response([], 404); } }