Services_ShortURL_Googl ver.0.2.0βリリース
昨日の話の続きです。
2009年末に作ったServices_ShortURL_Googlは裏技(?)を使っていたため、ちょろっと物議を醸しだした訳ですが、先日公開された公式のAPIを使ったものに書き換えて、バージョン0.2.0としてリリースしました。一応、ベータ版です。
内部処理をAPI呼び出しに変更しただけですので、クラスのAPIに変更はありません。
インストールは
$ sudo pear channel-discover openpear.org
$ sudo pear install -a openpear/Services_ShortURL_Googl-beta
$
な感じで。PEAR::Services_ShortURLパッケージのサブパッケージという位置づけは変わりませんので、PEAR::Services_ShortURLは必須です。
また、APIのレスポンスがjson形式のため、これを処理するためにjson拡張に依存しています。ということで、PHP5.2.0以上に対応ということで;-)
使い方は、SVNリポジトリにあるsample.phpのような感じ。
<?php require_once "Services/ShortURL/Googl.php"; /** * Services_ShortURLパッケージに組み込まれれば、 * Services_ShortURL::factoryメソッドを使うように * なるハズ * * $obj = Services_ShortURL::factory('Googl'); */ $obj = new Services_ShortURL_Googl(); try { $result = $obj->shorten('http://d.hatena.ne.jp/shimooka/'); echo $result . PHP_EOL; echo $obj->expand($result) . PHP_EOL; } catch (Exception $e) { echo $e->getMessage() . PHP_EOL; exit; }
このスクリプトの出力は、
$ php sample.php http://goo.gl/BuQj http://d.hatena.ne.jp/shimooka/ $
のようになります。
なお、APIキーを利用する場合は、コンストラクタの第1引数に、キー名"key"とする連想配列を渡します。
<?php require_once "Services/ShortURL/Googl.php"; $obj = new Services_ShortURL_Googl(array('key' => '...api key...')); :
今度こそ、Date_Holidays_Japanの時のようにPEAR本家に提案してみるかなぁ。
追記(2011/04/04 15:18)
Services_ShortURL_Googl 0.2.0は、2011/04/04にPEAR;;Services_ShortURL ver.0.3に取り込まれました。