MW211 EXIT

devlog
PHP/iniファイルの記述ミス
2013年11月02日
┌─────────────────────────────────[xxxx.ini]┐
│[WEB]                                                                       │
│ROOT=/root                                                                  │
└──────────────────────────────────────┘
上記のようなiniファイルを定数化してしまうプログラム。
┌──────────────────────────────────────┐
│foreach (parse_ini_file('xxxx.ini', TRUE) as $key1 => $value1) {            │
│    foreach ($value1 as $key2 => $value2) {                                 │
│        define($key2, $value2);                                             │
│    }                                                                       │
│}                                                                           │
└──────────────────────────────────────┘

以下のようにコメントアウトするつもりが…。
┌─────────────────────────────────[xxxx.ini]┐
│;ROOT=/root                                                                 │
└──────────────────────────────────────┘

入力ミスで以下のようにコメントアウトしてしまった。
┌─────────────────────────────────[xxxx.ini]┐
│::ROOT=/root                                                                │
└──────────────────────────────────────┘

そしたら、以下のようなエラーとなってしまった。
┌──────────────────────────────────────┐
│Warning: Class constants cannot be defined or redefined in …               │
└──────────────────────────────────────┘

「["::ROOT"]」を定数名にしようとしてしまったんだから当然だ。

ま、iniファイルだからそんなに堅牢にする必要はないのだけど…。
分類:PHP