我有一个包含PHP和C ++组件的应用程序。他们需要共享一些配置选项,我想用一个文件来共享它们 - 一个简单的配置文件。
幸运的是,PHP有parse_ini_file(),Boost有程序选项,它们共享几乎相同的语义。他们都可以阅读我需要的所有选项。
这里的“问题”是PHP的函数支持分号(“;”)作为注释字符,Boost支持哈希(“#”)。 PHP用于支持哈希,但现在它会抛出一个弃用的错误。
我很确定我无法轻易更改PHP中的注释字符。任何人都知道我是否可以更改Boost注释字符?我不想仅仅为了评论而重写所有这些功能。
答案 0 :(得分:1)
找出解决这个问题的方法。
鉴于Boost相当健壮,我找不到合理的方法来替换注释字符,而#是配置文件中相当可接受的注释字符,我在PHP中解决了它。
我使用file_get_contents加载配置文件,使用preg_replace删除以#开头的行,然后通过parse_ini_string传递结果。