使用PHP解析*.ini文件时丢失布尔值

3
我尝试在PHP中制作自己的配置处理程序,利用本机PHP的parse_ini_file函数。我刚刚注意到所有布尔值为true/false的配置条目都错乱了,以及大多数其他配置条目都被强制转换为字符串。
显然,这已经是一个众所周知的问题:http://www.php.net/manual/en/function.parse-ini-file.php#100851 那么适当的解决方法是什么呢? 利用非PHP配置真的很方便,这使得非开发人员在必要时轻松更改值,因此我希望保留基于*.ini的配置。
2个回答

2

虽然有点晚,但从PHP 5.6开始,你可以传递第三个参数INI_SCANNER_TYPED,它将保持值的类型。

parse_ini_file('config.ini', true, INI_SCANNER_TYPED)

0

我想这个问题最简单的解决方案就是使用自己的配置处理程序。可以编写一个ini类或下载一个免费的(ini格式非常简单)。

但是,如果您想要互操作性,我建议将配置存储在xml中。每种现代编程语言都有大量可用或内置的XML解析器。此外,您可以在设置结构中获得更多灵活性。并且您可以轻松地使您的设置格式类型安全。


谢谢你的回答。我最终使用JSON文件作为我的配置文件基础! - Industrial

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接