Re: Scalar type hinting
| From: | Ferenc Kovacs | Date: | Mon, 27 Feb 2012 17:07:04 +0000 |
| Subject: | Re: Scalar type hinting | ||
| References: | 1 2 3 4 5 6 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-58158@lists.php.net to get a copy of this message | ||
>
>
> Now strings. There are two different kinds of strings.
> The first one $age = $_POST['age'] is the kind of string that you want to
> treat as a number. And that's fine.
>
> But you also have $name = $_POST['name'] // 'John Doe' which is wrong
> to treat as a the same as $age.
>
>
php doesn't have the necessary information to tell whether your input
variable is a number, or only looks like a number.
how would you define what is an int? what type would the following input
variables have?
- "1"
- "1.1"
- "1.0"
- ".5"
- "0777"
I think it is better to populate everything as string, and let the
application developer to parse the inputs as he knows what should they
represent.
Btw. there was a discussion about raising a warning (somebody even
suggested creating an E_TYPE level) when data loss occurs on a type
juggling.
I would support that, as people tend to be surprised when they realize the
first time that 123 == '123 apples' evaluates to true in php.
--
Ferenc Kovács
@Tyr43l - http://tyrael.hu