INPUT_POST, self::get => INPUT_GET, self::cookie => INPUT_COOKIE, self::env => INPUT_ENV, self::server => INPUT_SERVER, }; } } enum DB_FILTER { case ON; // Tries to Filter out SQL from User Input case OFF; // Normal pass thourgh... } enum FIELD_FILTER: string { case raw_string = "string"; case array_of_strings = "strings"; case email = "email-address"; case url = "site-url"; case raw = "unfiltered-non-sanitized"; case integer_number = "integer"; case array_of_ints = "integers"; case floating_point = "float"; case array_of_floats = "floats"; public function resolve() { return match($this) { self::raw_string => FILTER_UNSAFE_RAW, self::array_of_strings => [ 'filter' => FILTER_UNSAFE_RAW, 'flags' => FILTER_REQUIRE_ARRAY ], self::email => FILTER_SANITIZE_EMAIL, self::url => FILTER_SANITIZE_URL, self::raw => FILTER_DEFAULT, // Unfiltered, non-sanitized!!! self::integer_number => [ 'filter' => FILTER_SANITIZE_NUMBER_INT, 'flags' => FILTER_REQUIRE_SCALAR ], self::array_of_ints => [ 'filter' => FILTER_SANITIZE_NUMBER_INT, 'flags' => FILTER_REQUIRE_ARRAY ], self::floating_point => [ 'filter' => FILTER_SANITIZE_NUMBER_FLOAT, 'flags' => FILTER_FLAG_ALLOW_FRACTION ], self::array_of_floats => [ 'filter' => FILTER_SANITIZE_NUMBER_FLOAT, 'flags' => FILTER_REQUIRE_ARRAY ], }; } }