Re: [PHP-DEV] Making parse_ini_*() aware of types

[email protected] (Julien Pauli)
Newsgroups php.internals
Message-ID <CAMUwpuQFkPPyW-MD+JHBVu4T9xYrgm96mah9tWSwZmkrEPpm3g@mail.gmail.com>
On Sat, Aug 30, 2014 at 4:36 PM, Tjerk Meesters
<[email protected]> wrote:
> Hi internals,
>
> I was going through the bug list and found this report:
>
> https://bugs.php.net/bug.php?id=38409
>
> It discusses the fact that `parse_ini_file()` and `parse_ini_string()` throw away type information; for instance, the flag “on” doesn’t translate into a bool(true) but string(“1”).
>
> The report has had 21 votes and an average score of 4.3 +- 0.7, so it seems to have some traction with users.
>
>
> Simply changing this behaviour would cause BC, so I’ve found a way in which this can be solved with a separate scanner mode; e.g.:
>
> $data = parse_ini_file(‘/path/to/file’, true, INI_SCANNER_TYPED);
>
> A patch for the lexer can be found here, together with a simple test case:
>
> https://github.com/datibbaw/php-src/compare/php:master...datibbaw:ini-scanner-plus
>
> It currently distinguishes between booleans, numbers and NULL (it was mentioned in the ticket by someone else, not entirely sure of its usefulness, though). I haven’t benchmarked it, but the impact on performance should be quite minimal.
>
> Thoughts?


+1 for me, this seems obvious.

Julien
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.