Archive for category cakePHP

CakePHP 1.2 複数appでデータベース接続の設定を共有する

管理画面と公開側、それぞれ別app(サブドメインでアクセスを分けるなど)にした場合、
データベースの設定は、それぞれapp/config/database.phpにあるので、別々に設定しなければならない。
これを1つにまとめてしまう方法。

app/config/database.php

< ?php
config('../../database_common');
class DATABASE_CONFIG extends DATABASE_CONFIG_COMMON{
}

database_common.php (appやcakeと同階層に設置)

< ?php
class DATABASE_CONFIG_COMMON {

var $default = array(
'driver' => ‘mysql_log’,
‘persistent’ => false,
‘host’ => ‘localhost’,
‘login’ => ‘cake’,
‘password’ => ”,
‘database’ => ‘cake’,
‘encoding’ => ‘utf8′
);
}/

No Comments

cakePHP1.2の日本語化でファイルを分割する方法

APP.DS.”local”.DS.”jpn”.DS.”LC_MESSAGES”.DS の下にdefault.po
を作成するのが一般的な話。

cakePHP本体に書かれているメッセージを毎回翻訳するのは大変なので
こちらのサイトからDLすると便利
CakePHP 1.2 日本語化

default.poと同階層にcore.poを配置するだけ。
便利すぎます。感謝感謝。

大規模サイトになってくると、defualt.poの1ファイルにまとめてしまうと
共同作業がしにくかったり、そもそも1ファイルが大きくなりすぎてメンテナンスしにくくなる。
そこで、ファイルを分割する方法。

echo __(“username”);

echo __d(“user”,”username”);

このように、通常__()関数を使っている部分を_d()に変更。
第1引数は翻訳ファイルのファイル名から拡張子を取ったもの。

この場合だと APP.DS.”local”.DS.”jpn”.DS.”LC_MESSAGES”.DS.”user.po”に翻訳したものを記述する

msgid “username”
msgstr “ユーザー名”

※cakePHP的にはこれを”ドメインの指定”と言うらしい

今回の方法は
[CakePHP]1.2系の多言語対応メモ(2)
のページを参考にさせていただいた。
おまじないのように作成していた”LC_MESSAGES”というディレクトリ名に関しても解説されていた

No Comments

cakePHPのcssキャッシュが効きすぎる件の対応策

cakePHP × firefoxで開発をしているときに
cssのキャッシュが効きすぎてcssファイルを修正してもなかなか画面に反映されない
という困った状況に遭遇したので、対応策をメモっておく。

webroot/css.php

header(“Pragma: cache”); // HTTP/1.0

下から3行目のこの1文をコメントアウトしておく。

//header(“Pragma: cache”); // HTTP/1.0

たったコレだけなんだけども知らないとcssが反映されなくてイライラすることになる。
ちなみにサイトを公開するときには、忘れずに戻しておくこと。

No Comments