Я работаю над преобразованием старой системы языка/перевода на основе define() в более гибкую (возможно, JSON-based, но она все еще открыта).Определяет неопределенный PHP?
В качестве части этого преобразования мне нужно будет преобразовать файлы из 42.php с несколькими тысячами строк в любой формат, который я буду использовать. Некоторые из ссылок на определенные строки ссылаются на другие или используют PHP-код. Мне не нужно сохранять это динамическое поведение (оно никогда не является действительно динамичным), но мне нужно будет иметь «текущие» значения во время преобразования. One определить может выглядеть следующим образом:
define('LNG_Some_string', 'Page $s of $s of our fine '.LNG_Product_name);
Поскольку все Определяет, имеет легко узнаваемый префикс «LNG_», преобразование одного файла тривиально. Но я хотел бы создать небольшой скрипт, который обрабатывает все 42 за один проход.
В идеале я мог бы либо определить или переопределить определение(), но я не могу найти простой способ сделать это. Это вообще возможно?
В качестве альтернативы, что было бы хорошим способом обработки этого преобразования? Сценарий будет разовым, поэтому его не нужно поддерживать или быстро. Я просто хочу, чтобы он полностью автоматизировался, чтобы избежать человеческой ошибки.
Поскольку 'define' определяет константу , по определению - вы не можете «undefine», потому что это не константа, тогда это переменная. И PHP имеет переменную нотацию и все остальное, что связано с работой с переменными. Короче говоря, вам, по-видимому, не нужны константы, вам нужны массивы для выполнения этой многоязыковой функции. –
@ N.B. Я пытаюсь сделать именно это. Я не хочу констант. Проблема заключается в однократном преобразовании из констант в массив/do/json/ini/whatever. – Martijn