Re: Making parse_ini_*() aware of types

From: Date: Mon, 01 Sep 2014 11:08:41 +0000
Subject: Re: Making parse_ini_*() aware of types
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-77003@lists.php.net to get a copy of this message
On Sat, Aug 30, 2014 at 4:36 PM, Tjerk Meesters <tjerk.meesters@gmail.com> 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

« previous php.internals (#77003) next »