2011-08-10 79 views
3

試圖在PHP中使用本機PHP parse_ini_file函數來創建自己的配置處理程序。我只注意到,所有配置條目的值都是一個布爾值 - 真/假都會混淆在一起,以及大多數其他配置條目都被轉換爲字符串。使用PHP解析* .ini文件時丟失布爾值

顯然,這是一個衆所周知的問題已:http://www.php.net/manual/en/function.parse-ini-file.php#100851

那麼,什麼是適當的解決辦法?
使用非PHP配置非常簡單,這使非開發人員在必要時更改值非常容易,因此我希望保留基於*.ini的配置。

回答

0

我想問題的最簡單的解決方案是隻使用自己的配置處理程序。要麼寫一個ini類,要麼下載一個免費的(ini格式非常簡單)。

但是,如果您想要互操作性,我會建議將您的配置存儲在xml中。每種現代編程語言都有大量的XML解析器可用或內置。您還可以在設置結構中獲得更多靈活性。你可以很容易地讓你設置格式類型安全。

+0

謝謝您的回答類型。我最終使用JSON文件作爲我的配置的基礎! – Industrial

0

一個遲到了,但作爲PHP 5.6中,你可以通過第三個參數INI_SCANNER_TYPED,它會保持價值

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