Invalid signature

ここは俺の日記帳

CakePHP: 多言語化とグロール変数

多言語対応について調べていて、ページを閲覧中にいつでも使用中の言語を
切り替えられたらいいなぁと思った。
使用中の言語を切り替えるには以下のコードを使用する。


    Configure::write('Config.language', '言語指定子');
  

しかし、ポスト通信などをトリガーとして一度だけコレを行うと、
直後の状態では Config.language が変わっているが、
他のページに移動するなどすると元に戻ってしまう。

仕方ないので define で定義した変数を変更しようとしたが、普通に定数らしくて
エラーになる。

bootstrap.phpグローバル変数を定義してみたが、
参照しようとした場所では中身が空だった。

下のページで独自に配列定数を定義する方法が説明されている。
http://blog.1000k.net/2010/07/05/%E7%8B%AC%E8%87%AA%E5%AE%9A%E6%95%B0%E3%82%92%E5%AE%9A%E7%BE%A9%E3%81%99%E3%82%8B/
write があるんだから書き込んだ値を保存できるのではと期待したが、
Config.language と同じく、変更後にアクションを起こすと元に戻ってしまう。

URLリクエストごとに元に戻る

毎回値が元の戻るので bootstrap なんかがどこで読み込まれているかを調べてみた。
以下のページによると、URLリクエストがあるたびに読み込まれている。
http://d.hatena.ne.jp/hetima/20060828
そりゃあ元に戻るわけだ。

冒頭で述べていることはクッキーでも使えばいいのかなぁ。