> Hi Tyson,
>
> The formatting of var_export is certainly a recurring complaint, and
> previous discussions were not particularly open to changing current
> var_export behavior, so adding a new function seems to be the way to
> address the issue (the alternative would be to add a flag to var_export).
>
> I like the idea of the "one line" flag. Actually, this is the main part I'm
> interested in :) With the one line flag, this produces the ideal formatting
> for PHPT tests that want to print something like "$v1 + $v2 = $v3". None of
> our current dumping functions are suitable for this purpose (json_encode
> comes closest, but has edge cases like lack of NAN support.)
>
> Some note:
>  * You should drop the $return parameter and make it always return. As this
> is primarily an export and not a dumping function, printing to stdout
> doesn't make sense to me.
>  * For strings, have you considered printing them as double-quoted and
> escaping more characters? This would avoid newlines in oneline mode. And
> would allow you to escape more control characters. I also find the current
> '' . "\0" . '' format for encoding null bytes quite awkward.
>  * I don't like the short_var_export() name. Is "short" really the primary
> characteristic of this function? Both var_export_pretty and
> var_export_canonical seem better to me, though I can't say they're great
> either. I will refrain from proposing real_var_export() ... oops :P
>
> Regards,
> Nikita
>

Sorry for the plug, but you may be interested in getting inspiration from
brick/varexporter:

https://github.com/brick/varexporter

In particular:

- uses short array syntax always
- doesn't output array keys for lists
- can output lists of scalars on one line, under a flag:
`INLINE_NUMERIC_SCALAR_ARRAY`

- Benjamin

Reply via email to