私は古いdefine()ベースの言語/翻訳システムをより柔軟なもの(おそらくJSONベースですが、まだ開いています)に変換しようとしています。PHP定義の定義を解除しますか?
この変換の一部として、使用するフォーマットに数千の文字列を持つ42個の.phpファイルを変換する必要があります。定義された文字列の中には、他のものを参照するものやPHPコードを使用するものがあります私はこの動的な振る舞いを維持する必要はありませんが(それは決して実際はダイナミックではありません)、私は変換時に「現在の」値を持つ必要があります。すべての定義は容易に認識「LNG_」プレフィックスを持っているので
define('LNG_Some_string', 'Page $s of $s of our fine '.LNG_Product_name);
、単一のファイルを変換することは簡単です: 一つは、次のようになります定義します。しかし、私は1つの実行ですべての42を処理する小さなスクリプトを作成したいと思います。
理想的には、define()の定義を解除するか再定義することができますが、簡単な方法はありません。これはすべて可能ですか?
また、この変換を処理するにはどうすればよいでしょうか?スクリプトは一度限りなので、保守性や高速性は必要ありません。人間のエラーを避けるために完全に自動化したいだけです。
:-)ただの提案でした定義によると、それは定数ではないので、あなたはそれを 'undefine 'できません - それは変数です。 PHPには可変表記法があり、変数の扱いにはそれ以外のものがあります。長い話をすると、明らかに定数は必要ありません。この多言語機能を実行するには配列が必要です。 –
@ N.B。私はそれを正確にやろうとしています。私は定数を望んでいません。問題は、定数からarray/do/json/ini/whateverへの1回の変換です。 – Martijn