Zend Frameworkでping送信
今やブログでおなじみになったping送信。しかしXML-RPCという特性上(かどうかは知らないけれど)、ping送信を実現するためのPHPスクリプトのサンプルを提供しているサイトはほとんどない。やっぱり少しだけ敷居が高いためだろうか。
かくいう自分もping送信はよく理解できなかったのだが「案ずるより産むが易し」で、どこからかサンプルを探してきて、試しているうちに理解できるようになった。
ping送信は生のPOSTデータを取り扱うので、一から自分で書くとPHPやWeb、XML-RPCに関する理解が深まるが、やはりお気楽にプログラムを書きたいところ。今まではPEARなどのライブラリを使って書いていたのだが、それでも結局10行以上書かなくてはならなかった記憶がある。
で、革命。Zend_XmlRpcを使うとたった3行でping送信ができる。サンプルスクリプトはこんな感じ。
require_once ‘Zend/XmlRpc/Client.php';
$client = new Zend_XmlRpc_Client($server);
$client->call(‘weblogUpdates.ping’, array($title, $url));
$serverはping送信先URL、$titleにはブログタイトル、$urlにはブログURLを代入すればいい。1行目はライブラリの読み込みなのだから実質2行でping送信ができるわけだ。
これには参った。ほんと、よくできてるよ、Zend Framework。