]> granicus.if.org Git - php/commitdiff
Add FILTER_VALIDATE_BOOL as alias for FILTER_VALIDATE_BOOLEAN
authorWouter Wijsman <wouter.wijsman@windesheim.nl>
Tue, 17 Dec 2019 08:13:41 +0000 (09:13 +0100)
committerNikita Popov <nikita.ppv@gmail.com>
Mon, 30 Dec 2019 13:18:03 +0000 (14:18 +0100)
Both filters are equivalent, but FILTER_VALIDATE_BOOL uses our
canonical name for the type (the only one permitted in type
declarations for example), so the new name is preferred long
term.

The old name may be deprecated in the future, but no specific
timeline is planned.

UPGRADING
ext/filter/filter.c
ext/filter/filter_private.h
ext/filter/tests/061.phpt [new file with mode: 0644]

index 92824112259f415bd5a95f855b7ea40e379fa6ae..28454f24ed83d7eecf6ccfe656fb2ba760862337 100644 (file)
--- a/UPGRADING
+++ b/UPGRADING
@@ -381,6 +381,10 @@ PHP 8.0 UPGRADE NOTES
 10. New Global Constants
 ========================================
 
+- Filter:
+  . FILTER_VALIDATE_BOOL has been added as an alias for FILTER_VALIDATE_BOOLEAN.
+    The new name is preferred, as it uses the canonical type name.
+
 ========================================
 11. Changes to INI File Handling
 ========================================
index 23ef0bdf9bcf6a8256f52dd28ebb37e2b26e1c88..d91f050a95fe70ed32488274a8c1798dd924388f 100644 (file)
@@ -37,7 +37,7 @@ typedef struct filter_list_entry {
 /* {{{ filter_list */
 static const filter_list_entry filter_list[] = {
        { "int",             FILTER_VALIDATE_INT,           php_filter_int             },
-       { "boolean",         FILTER_VALIDATE_BOOLEAN,       php_filter_boolean         },
+       { "boolean",         FILTER_VALIDATE_BOOL,          php_filter_boolean         },
        { "float",           FILTER_VALIDATE_FLOAT,         php_filter_float           },
 
        { "validate_regexp", FILTER_VALIDATE_REGEXP,        php_filter_validate_regexp },
@@ -190,7 +190,8 @@ PHP_MINIT_FUNCTION(filter)
        REGISTER_LONG_CONSTANT("FILTER_NULL_ON_FAILURE", FILTER_NULL_ON_FAILURE, CONST_CS | CONST_PERSISTENT);
 
        REGISTER_LONG_CONSTANT("FILTER_VALIDATE_INT", FILTER_VALIDATE_INT, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILTER_VALIDATE_BOOLEAN", FILTER_VALIDATE_BOOLEAN, CONST_CS | CONST_PERSISTENT);
+       REGISTER_LONG_CONSTANT("FILTER_VALIDATE_BOOLEAN", FILTER_VALIDATE_BOOL, CONST_CS | CONST_PERSISTENT);
+       REGISTER_LONG_CONSTANT("FILTER_VALIDATE_BOOL", FILTER_VALIDATE_BOOL, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("FILTER_VALIDATE_FLOAT", FILTER_VALIDATE_FLOAT, CONST_CS | CONST_PERSISTENT);
 
        REGISTER_LONG_CONSTANT("FILTER_VALIDATE_REGEXP", FILTER_VALIDATE_REGEXP, CONST_CS | CONST_PERSISTENT);
index 5dcbd5c3cc373df57282f9402d5b0db02fddd59c..f8a02a490779708c21670af7bf4bea30f217046b 100644 (file)
@@ -56,7 +56,7 @@
 #define FILTER_FLAG_EMAIL_UNICODE          0x100000
 
 #define FILTER_VALIDATE_INT           0x0101
-#define FILTER_VALIDATE_BOOLEAN       0x0102
+#define FILTER_VALIDATE_BOOL          0x0102
 #define FILTER_VALIDATE_FLOAT         0x0103
 
 #define FILTER_VALIDATE_REGEXP        0x0110
diff --git a/ext/filter/tests/061.phpt b/ext/filter/tests/061.phpt
new file mode 100644 (file)
index 0000000..b8b3a51
--- /dev/null
@@ -0,0 +1,70 @@
+--TEST--
+filter_var() and FILTER_VALIDATE_BOOL
+--SKIPIF--
+<?php if (!extension_loaded("filter")) die("skip"); ?>
+--FILE--
+<?php
+
+class test {
+
+       function __toString() {
+               return "blah";
+       }
+}
+
+$t = new test;
+
+var_dump(filter_var("no", FILTER_VALIDATE_BOOL));
+var_dump(filter_var(NULL, FILTER_VALIDATE_BOOL));
+var_dump(filter_var($t, FILTER_VALIDATE_BOOL));
+var_dump(filter_var(array(1,2,3,0,array("", "123")), FILTER_VALIDATE_BOOL, FILTER_REQUIRE_ARRAY));
+var_dump(filter_var("yes", FILTER_VALIDATE_BOOL));
+var_dump(filter_var("true", FILTER_VALIDATE_BOOL));
+var_dump(filter_var("false", FILTER_VALIDATE_BOOL));
+var_dump(filter_var("off", FILTER_VALIDATE_BOOL));
+var_dump(filter_var("on", FILTER_VALIDATE_BOOL));
+var_dump(filter_var("0", FILTER_VALIDATE_BOOL));
+var_dump(filter_var("1", FILTER_VALIDATE_BOOL));
+var_dump(filter_var("NONE", FILTER_VALIDATE_BOOL));
+var_dump(filter_var("", FILTER_VALIDATE_BOOL));
+var_dump(filter_var(-1, FILTER_VALIDATE_BOOL));
+var_dump(filter_var("000000", FILTER_VALIDATE_BOOL));
+var_dump(filter_var("111111", FILTER_VALIDATE_BOOL));
+
+
+echo "Done\n";
+?>
+--EXPECT--
+bool(false)
+bool(false)
+bool(false)
+array(5) {
+  [0]=>
+  bool(true)
+  [1]=>
+  bool(false)
+  [2]=>
+  bool(false)
+  [3]=>
+  bool(false)
+  [4]=>
+  array(2) {
+    [0]=>
+    bool(false)
+    [1]=>
+    bool(false)
+  }
+}
+bool(true)
+bool(true)
+bool(false)
+bool(false)
+bool(true)
+bool(false)
+bool(true)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+Done