Я сейчас пользуюсь ini
формат для файлов конфигурации. Мне действительно нравится этот формат без каких-либо технических причин. У меня довольно много проблем с разграничением 1
а также (bool)true
, К сожалению, независимо от того, что я оцениваю, true
, yes
, on
— когда я анализирую файл в PHP, все они преобразуются в (string) "1"
, Это проблема для меня, потому что я создаю графический интерфейс для редактирования конфигурации. файлы и для того, чтобы сделать все это красиво и красиво, я хочу иметь boolean
значения будут boolean
ценности и int
значения будут int
ценности.
По сути то, что я спрашиваю, — как я могу превратить это ini
файл
bool = true
int = 1
В этот объект PHP (на самом деле массив)
Array (
['bool'] => (bool) true
['int'] => (int) 1
)
Вместо того, что я получаю
Array (
['bool'] => (string) "1"['int'] => (string) "1")
Я пытаюсь избежать написания своего собственного парсера, потому что нельзя просто написать лучший парсер, чем парни из PHP.net
Согласно документам для parse_ini_string
, с 5.6.1 прохождения INI_SCANNER_TYPED
по возможности сохранит тип настройки (int, bool и т. д.).
Пример: https://3v4l.org/EkLhs#v561
Других решений пока нет …