二度忘れた事を三度忘れないようにする

しがないフリーランスIT系エンジニア

Phalcon 2 はまりどころメモ

あとで清書するよてい

phalcon1系から2になることで実装が純粋なC言語からZephirを挟んでいるようで、よく次のような事に巻き込まれる。

経験したことのあるタイミング:autoloder等で設定を読み込ませる、viewのsetvarする時
発生した事象1:「Parameter 'key' must be a string」的なエラー
発生した事象2:コンフィグ等、配列・連想配列で読み込ませた値が参照できない
原因:値を格納する際に可変変数を利用して実装しているため

可変変数使ってるの初めてみるんじゃないかって感じで理解するまで時間かかった。
連想配列の値を格納する際に、連想配列のkeyを可変変数で指定しており、そのkeyが数値だった場合、エラーがでたりkeyを指定して値が参照できなくなります。
可変変数で格納された連想配列はdumpとかすると次のような見えかたします。

(["0"] => 'aaa', ["1"] => '123')

ちょこっとしらべたところ、こういう形ではいっちゃうとforearchとかしないと中身とりだせない仕様っぽい? 実装箇所によってエラー出てくれるけど、場所によっては上記のような入りかたしちゃうこともあるので、注意。
英語できないからこっそりと修正待ち。