Category Archives: プログラム

CakePHP2.xでRSSのパーサーする方法

CakePHPクッキング CakePHP1.xでRSS(XML)のデータを扱う場合は、
uses('Xml');
$xml = new Xml($url);
$array = Set::reverse($xml);
のような感じで出来たのですが、CakePHP2.xになるとそれでは扱えなくなります。

2.0 Migration Guide — Cookbook v2.x documentation
Xml — Cookbook v2.x documentation
このあたりに書いてありますが、
App::uses('Xml', 'Utility');
$array = Xml::toArray(Xml::build($url));
このようにやればRSS(XML)を扱うことができます。

CakePHPでPostgreSQLのcastを使うには

CakePHPクッキング

条件付きのデータ取得をしたい時に、時々型変換をしなければならない時があります。
PostgreSQLでは 型キャスト(CAST構文)を利用します。
cast(nitiji as date)

これをCakePHPで行う場合には、
$params = array(
    'conditions' => array(
        'cast(nitiji as date)' => '20120316',
    ),
);
そのまま使えますね。

GoogleMapsAPIで日本語と英語の表示を切り替える方法

かなり前に作ったプログラムでGoogleMapsAPIのV2が使われているものがありました。
そのプログラムで表示された地図の表記が突然英語になってしまっていたので、直すついでにV3にしてしまいました。
(なぜ突然英語表記になってしまったかの原因は調べていません・・)

V3では
Google Maps API では、コントロールの名前、著作権表記、運転ルート、地図上のラベルなどのテキスト情報の表示に、ブラウザの優先言語設定を使用します。多くの場合、この方法が推奨されるため、ユーザーの優先言語設定をオーバーライドする必要はありません。
とあるので、通常の日本のユーザーに対しては何もしなくて問題なさそうですが、日本語を強制的に表示させるには、
&language=ja
を追加させて
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&language=ja">
と書けばOKです。
一方、強制的に英語にしたい場合は
&language=en
とします。
その他サポートされている言語は幾つかあるようです。