PHPEclipseレビュ

実際の開発でPHPEclipseを使ってみました。それまでPHPのコーディングを行うときはテキストエディタやほかの総合開発環境を使っていたのですが、このBlogにもPHPEclipseについていろいろ書いてきたので会社でも採用してみました。


メリット

  1. Eclipseを使ったことがあるならとっつきやすい
  2. CVSとの連携が楽
  3. 開発メンバーで環境を統一できる

デメリット

  1. Eclipseを使ったことがなければ敷居が高い
  2. リファクタリング機能がない
  3. Eclipseなので起動が遅い(PCにそれなりのスペックが必要)


やはりEclipseをつかったことがあるならば、それなりにPHPEclipseはお勧めです。無料だし。あとエディタで開発するとCVSへのコミットが面倒なのですが、PHPEclipseならば邯鄲にできます(ほかの総合開発環境でもそうですが)。


あと開発環境をプロジェクトメンバーで統一できるというのもメリットとして大きいですね。エディタでの開発だといろいろな環境変数の統一とか文字コードとか意識しないといけないことがあるのですが、総合開発環境ですと「えいや!」って決めることができるので。


EclipseJavaの開発を行う場合、リファクタリング機能をガシガシつかうのですが、PHPEclipseではできません。これがちょっと面倒でした。スパイラルモデルでの開発を行う場合、リファクタリング機能は個人的には必須なのですが。

Google Maps APIを商用サービスで使用する難しさ

Google Maps APIとは、自身が作成したプログラムを通じてGoogle Map(Googleローカル)から情報を取得し表示させるAPIである。「はてなマップ」とかそうですね。「はてなマップ」は「はてな」の開発者がGoogle Maps APIを使用して作成したものだと思います。


Google Maps APIについては詳しい説明を省略するので以下参照


んで、当然ながらGoogle Maps APIを使用する上でいくつかの条件(使用条件)があります。ひとつひとつ説明するのも面倒なので、「商用サービスでGoogle Maps API」を使う場合の制限を記します。


まずひとつは、「一般ユーザ(ネット利用者)はだれでも使用できなくてはならない」ということです。

http://www.google.com/apis/maps/faq.html#faq4より抜粋
Premium websites – If your site is only available to paying customers, you cannot use the Maps API. 

有償サービスの一環として提供することはNGということです。「はてなポイント」を使用しないと「はてなマップ」が使用できないのであればNGということになります。またプロバイダが提供するサービスにGoogle Maps APIが使用された場合、プロバイダ契約していないユーザが使用できないサービスであればNGとなります。


つぎに「企業内に閉じたサービス(従業員以外が使用できないサービス)や企業内のイントラネットでのみの使用はNG」ということです。

http://www.google.com/apis/maps/faq.html#faq4より抜粋
Enterprise websites – The Maps API is not available for use within enterprise or intranet applications.

なので一般ユーザに公開していない顧客や在庫を管理するGISアプリケーションなどでは使用不可ということになります。


三つ目は「Google Maps APIは定期的にアップグレードする」ということです。まあASPなので当然といえばそうなのですが、既存APIの動作が変更されたとき、Google Maps APIを使用しているアプリケーションも修正する可能性があります。


最後に「現在は広告を表示していないが、そのうち広告表示するかもしれない」ということです。広告表示に関しては、現在保留ということなので、将来的にどうなるかわかりません。(Google Maps API用の有償ライセンスが出てくるかもしれないし)


結論としては、以下の場合ではGISアプリケーションを開発する場合、Google Maps APIの使用を避けたほうがよさそうです。

  • 製造請負(APIの仕様変更が発生した場合、対処が困難)
  • 企業内でのみ使用(一般に公開・利用できないWebアプリケーション)
  • 地図にGoogleのロゴを表示させたくないWebアプリケーション
  • 地図に広告を表示させたくないWebアプリケーション

メモリ使用範囲の拡大

Eclipseは通常64MBしかメモリを使用しない。このままだと起動時間がかかったりプログラム実行中にメモリ不足が発生することがある。その場合メモリ使用範囲を広げる必要がある。


Eclipse.exeのシンボリックリンクを作成し、そのアイコンを左クリックしてプロパティを開き、「リンク先」に以下を追加

eclipse.exe -vmargs -Xmxメモリ量


情報参照元

連想配列

PHP連想配列は便利なのだが、データ入力順序と出力順序が一致するとは限らない。JavaでいうならばHashMapに似ている。

$number = array("One"=>"壱", "Two"=>"弐", "Three"=>"参");
foreach($number as $key => $value)) {
 print ("英語:$key 、日本語:$val");
}


上記の場合だと必ずしも「One」「Two」「Three」の順で表示されるとは限らない。