CakePHP ujis

Ruby on Rails, 広島, Symfony, CakePHP, JAVA, .NET, PHP, WEBシステム開発, ソフトウェア開発, 業務システム, コンピュータプログラミング
お知らせ:東広島市で物件情報をお探しなら ダイトホーム
コンピュータな部屋
CakePHP ujis   CakePHP ujis


Ruby on Rails, 広島, Symfony, CakePHP, JAVA, .NET, PHP, WEBシステム開発, ソフトウェア開発, 業務システム, コンピュータプログラミング

2006/09/17

CakePHP construct ujis

上記単語で検索して引っ掛かったのであれば幸いだ。

誰のせいと言うわけでもなく、ここ丸2日ほど、CakePHPと言うフレームワークの初期設定に頭を 悩まされていた。

CakePHPを日本語化するにあたってcake/app_model.phpをapp直下にコピーし、

    function __construct() {
        parent::__construct();
        if(!defined('GLOBAL_UJIS')) {
            ('SET NAMES UJIS');
            define('GLOBAL_UJIS', TRUE);
        }
    }

と記述すればいいとのことでそのようにしていたのだが、Scaffoldで生成したFormのリストを表示する際は 日本語で表示されるものの、各レコードを編集しようとしたらInputの値が全てゼロ、ゼロ、ゼロ。。。

ハックと試行錯誤と頭痛の繰り返しのあげく、やっとのことで解決した。

cake/libs/model/model_php4.phpを編集、function __construct()の頭の方で

        if(!defined('GLOBAL_UJIS')) {
            ('SET NAMES UJIS');
            define('GLOBAL_UJIS', TRUE);
        }

と記述すれば良い。そうしないと何故かparams関数がNull値を返し、値が無いようになってします。 何故かはわかりかねるがapp_model.phpで__construct()を記述すると親関数をそのまま 上書きしてしまうのだろうか。。。

これが正当か否かは私には何とも言えない。現状これ以外に解決案が無いので私はこのようにする。

by Okamoto




NEX-TREN. LLC

〒732-0052
広島市東区光町1-9-27
第2寺岡ビル 4F


TEL 082-568-2558
FAX 082-568-2559