忍者ブログ
GPS
GPS関連の話題を掲載していきます。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

PHPによるシステム開発をしていると、拡張ライブラリであるPEARを参照することが多くなる。基本PEARはPHPでつくりあげられており、ソースも簡単にみることができる。しかしながら、結構マニアックなロジックになっており、勉強にはなるが、其の動きを追うには結構時間がかかる。

まあ、前置きはさておき、PEARのライブラリをみているとNet_Geoクラスというものが存在することがわかった、ディスクリプションを見ると

「IPアドレスから地理的な位置情報を取得するためのオブジェクトを生成します。」

と書いてある。へえ、こんなことができるんだーと思いつつ、いったいどのような動きするんだろうと、ライブラリのソースを開いてみる。

意外にも、「Geo.php」がメインソースで、PEARのベースライブラリを呼んでいるだけであった。
しかも、メインソースもそんなに長いロジックでもないので、解読はしやすい。

どうやら、基本的には、CAIDA (Cooperative Association for Internet Data Analysis)のサービスを利用するようだ、簡単に言えば、URLにIPアドレスを渡せば、位置情報等を返してくれるわけである。よって、Net_Geoライブラリを使わなくても、一から構築できなくはないが、学ぶべきところは多い。

CAIDA以外に、hostipのサービスも利用できる。hostipのほうはxml形式でデータを返すようなので、こっちのほうが、一から構築するなら扱いやすいかもしれない。

また、ローカルにおいた、csvデータから参照もできるように一応はなっているようであるが、この場合はあえて、このクラスを利用しなくてもいいかもしれない。

カレントバージョンは2006-03-29にリリースした1.0.4のようで、もう4年以上更新されておらず、フリーサービスですので、参考程度にとどめといたほうがいいかもしれません。

それにしても、PEARにこのようなクラスがあるとは意外でした。

拍手[0回]

PR
この記事にコメントする
お名前
タイトル
メール
URL
コメント
パスワード
この記事へのトラックバック
トラックバックURL :
[66]  [65]  [64]  [63]  [62]  [61]  [60]  [59]  [58]  [57]  [56]  [HOME]
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
フリーエリア
最新コメント
最新トラックバック
プロフィール
HN:
Slit
性別:
非公開
バーコード
ブログ内検索
アクセス解析
忍者ブログ / [PR]
/ Designed by 日常のつぼ
Copyright GPS. All Rights Reserved.