Cloud9でPHP5.4を使う

最近はやり?のCloud9を使ってみようとごにょごにょやってます。

クラウド上にIDEがあるんで、ブラウザがあればそれだけでコーディングが出来ちゃう優れもの。
こんなんが出てくるとChromeBookも全然ありだなぁっと思うわけです。
まぁもうしばらくちゃんと使い込んでみないです。

で、このCloud9でプロジェクト作成時にサーバーのインタンスが出来上がるわけですがPHPのバージョンは5.3.3です。

配列を[]で宣言したりクロージャーで$thisを使ったりしたい場合もあったりでできれば5.4が使いたい。

一応HELPには同様のQ&Aがあって、nada-nix(yumみたいなもの)をつかってインストールできるらしい。
でも、Cloud9上でサーバー実行しても5.3.3のままで、5.4で動かすなら5.4のBuilt-inサーバーで実行しないといけないらしい。

実際にやってみたところ、phpのバージョンは5.4.14になってるけどRunボタン押しても5.3.3のままだった。

とりあえず、今日はここまで。

MoodleというCMSのプラグインを作ってて思ったこと

Moodleというeラーニング特化型のCMSのプラグイン開発を受注しまして、いろいろと弄ってました。

該当の開発に使ってるバージョンは古くて1.7で今のバージョンで改善されているかわかりませんがDB周りのAPIがひどいこと。。。

特にget_records_sql()関数は、SELECT文でDBに問い合わせすれば結果のレコードを返してくれるものなんです。
結果が0件のときは空の配列ではなくfalseが帰ってきます。
そして、1件以上の結果があるときは、配列ではなく、問い合わせたSQLの最初のフィールドの値をキーにした連想配列が帰ってきます。
これのなにが困るって

オートインクリメントフィールドが不要なテーブルやUNIONをつかって他のテーブルと結合した時に
最初のフィールドがキーになるため、キーが重複したら最後のキーのレコードしか取れないこと。

なんでこんな仕様なんだ。。。