Если Вы нашли эту статью через поисковые системы, то у Вас наверняка проблема с парсингом ini-файла. Я долго думал к какой категории отнести эту статью: Zend Framework или PHP.
Недавно передо мной стояла задача: добавить мультиязычность (возможность использовать 2 и более языка) в один из проектов на Zend Framework. А для хранения строк я решил воспользоваться ini-адаптером (т.е. хранить данные в ini файлах). Но этому я планирую посвятить отдельную статью, да и все таки ошибка, которая возникла, относится непосредственно к PHP
[php]Warning: syntax error, unexpected TC_CONSTANT in /home/stafox/*/application/languages/en.ini on line 3[/php]
Вот вид того самого en.ini:
[php] home = home
downloads = downloads
no_limits = no limits
link = link
…
[/php]
Ну вот вообще не нравилась эта третья строка, а точнее слово no, т.к. если его убрать, все отлично. Чтобы выяснить в чем проблема — обратимся к документации PHP
Замечание:
Существует зарезервированные слова, которые нельзя использовать в качестве ключей в ini-файлах. Такими словами являются: null, yes, no, true, false, on, off, none. Значения null, no и false преобразуются в «», yes и true преобразуются в 1. Символы?{}|&~![()^"не должны использоваться в ключах и иметь какой-либо особый смысл в значениях.
Таким образом, получается, что такие слова как no, null и т.д. использовать нельзя. Что же делать, спросите Вы, если это необходимо? Для этого обратим внимание на первое замечание.
Замечание:
Если значение в ini-файле содержит прочие символы, кроме букв и цифр, оно должно заключаться в двойные кавычки («).
Т.е. наш файл нужно привести к вот такому виду:
[php] home = "home"
downloads = "downloads"
no_limits = "no limits"
link = "link"
…
[/php] И все будет работать как надо!
Спасибо, нигде не находил ответа.
Помогло!
а то сайт выглядел пустым и без текста 😀 скрипт ругался что ошибка есть