Skip to content

Commit f13d0a7

Browse files
sharkwouternikic
authored andcommitted
Add FILTER_VALIDATE_BOOL as alias for FILTER_VALIDATE_BOOLEAN
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.
1 parent 6c6d36b commit f13d0a7

File tree

4 files changed

+78
-3
lines changed

4 files changed

+78
-3
lines changed

UPGRADING

+4
Original file line numberDiff line numberDiff line change
@@ -381,6 +381,10 @@ PHP 8.0 UPGRADE NOTES
381381
10. New Global Constants
382382
========================================
383383

384+
- Filter:
385+
. FILTER_VALIDATE_BOOL has been added as an alias for FILTER_VALIDATE_BOOLEAN.
386+
The new name is preferred, as it uses the canonical type name.
387+
384388
========================================
385389
11. Changes to INI File Handling
386390
========================================

ext/filter/filter.c

+3-2
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ typedef struct filter_list_entry {
3737
/* {{{ filter_list */
3838
static const filter_list_entry filter_list[] = {
3939
{ "int", FILTER_VALIDATE_INT, php_filter_int },
40-
{ "boolean", FILTER_VALIDATE_BOOLEAN, php_filter_boolean },
40+
{ "boolean", FILTER_VALIDATE_BOOL, php_filter_boolean },
4141
{ "float", FILTER_VALIDATE_FLOAT, php_filter_float },
4242

4343
{ "validate_regexp", FILTER_VALIDATE_REGEXP, php_filter_validate_regexp },
@@ -190,7 +190,8 @@ PHP_MINIT_FUNCTION(filter)
190190
REGISTER_LONG_CONSTANT("FILTER_NULL_ON_FAILURE", FILTER_NULL_ON_FAILURE, CONST_CS | CONST_PERSISTENT);
191191

192192
REGISTER_LONG_CONSTANT("FILTER_VALIDATE_INT", FILTER_VALIDATE_INT, CONST_CS | CONST_PERSISTENT);
193-
REGISTER_LONG_CONSTANT("FILTER_VALIDATE_BOOLEAN", FILTER_VALIDATE_BOOLEAN, CONST_CS | CONST_PERSISTENT);
193+
REGISTER_LONG_CONSTANT("FILTER_VALIDATE_BOOLEAN", FILTER_VALIDATE_BOOL, CONST_CS | CONST_PERSISTENT);
194+
REGISTER_LONG_CONSTANT("FILTER_VALIDATE_BOOL", FILTER_VALIDATE_BOOL, CONST_CS | CONST_PERSISTENT);
194195
REGISTER_LONG_CONSTANT("FILTER_VALIDATE_FLOAT", FILTER_VALIDATE_FLOAT, CONST_CS | CONST_PERSISTENT);
195196

196197
REGISTER_LONG_CONSTANT("FILTER_VALIDATE_REGEXP", FILTER_VALIDATE_REGEXP, CONST_CS | CONST_PERSISTENT);

ext/filter/filter_private.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
#define FILTER_FLAG_EMAIL_UNICODE 0x100000
5757

5858
#define FILTER_VALIDATE_INT 0x0101
59-
#define FILTER_VALIDATE_BOOLEAN 0x0102
59+
#define FILTER_VALIDATE_BOOL 0x0102
6060
#define FILTER_VALIDATE_FLOAT 0x0103
6161

6262
#define FILTER_VALIDATE_REGEXP 0x0110

ext/filter/tests/061.phpt

+70
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
--TEST--
2+
filter_var() and FILTER_VALIDATE_BOOL
3+
--SKIPIF--
4+
<?php if (!extension_loaded("filter")) die("skip"); ?>
5+
--FILE--
6+
<?php
7+
8+
class test {
9+
10+
function __toString() {
11+
return "blah";
12+
}
13+
}
14+
15+
$t = new test;
16+
17+
var_dump(filter_var("no", FILTER_VALIDATE_BOOL));
18+
var_dump(filter_var(NULL, FILTER_VALIDATE_BOOL));
19+
var_dump(filter_var($t, FILTER_VALIDATE_BOOL));
20+
var_dump(filter_var(array(1,2,3,0,array("", "123")), FILTER_VALIDATE_BOOL, FILTER_REQUIRE_ARRAY));
21+
var_dump(filter_var("yes", FILTER_VALIDATE_BOOL));
22+
var_dump(filter_var("true", FILTER_VALIDATE_BOOL));
23+
var_dump(filter_var("false", FILTER_VALIDATE_BOOL));
24+
var_dump(filter_var("off", FILTER_VALIDATE_BOOL));
25+
var_dump(filter_var("on", FILTER_VALIDATE_BOOL));
26+
var_dump(filter_var("0", FILTER_VALIDATE_BOOL));
27+
var_dump(filter_var("1", FILTER_VALIDATE_BOOL));
28+
var_dump(filter_var("NONE", FILTER_VALIDATE_BOOL));
29+
var_dump(filter_var("", FILTER_VALIDATE_BOOL));
30+
var_dump(filter_var(-1, FILTER_VALIDATE_BOOL));
31+
var_dump(filter_var("000000", FILTER_VALIDATE_BOOL));
32+
var_dump(filter_var("111111", FILTER_VALIDATE_BOOL));
33+
34+
35+
echo "Done\n";
36+
?>
37+
--EXPECT--
38+
bool(false)
39+
bool(false)
40+
bool(false)
41+
array(5) {
42+
[0]=>
43+
bool(true)
44+
[1]=>
45+
bool(false)
46+
[2]=>
47+
bool(false)
48+
[3]=>
49+
bool(false)
50+
[4]=>
51+
array(2) {
52+
[0]=>
53+
bool(false)
54+
[1]=>
55+
bool(false)
56+
}
57+
}
58+
bool(true)
59+
bool(true)
60+
bool(false)
61+
bool(false)
62+
bool(true)
63+
bool(false)
64+
bool(true)
65+
bool(false)
66+
bool(false)
67+
bool(false)
68+
bool(false)
69+
bool(false)
70+
Done

0 commit comments

Comments
 (0)