PHP関西 勉強会に参加

11/7、KOF初日の帰りにPHPの勉強会に初参加。関西でPHPの勉強会というのは久しぶりらしい。とりあえず、全参加者のうち、かなりの割合がCakePHPを使っていて驚いた。以下感想。

PHPUnitのこんな機能知ってる? by id:kunitさん

PHPUnitというかSeleniumの話がメイン。なぜPHPUnitというタイトルかというと、話の中で、kunitさんが今作っている、SeleniumIDEの吐くテストのHTMLを、SeleniumRC使ったPHPUnitのコードに変換するツールについて触れようと思ってたら、Seleniumの話が面白くなってきてしまって、それメインになった、とのこと。

SeleniumIDEは便利だけど、HTMLだと柔軟性に欠けるので、結局プログラム書いてテストしたくなるよね?なのでそのHTMLをコードに変換し、それを改変してテスト書くと楽じゃないかという話。確かに便利そうだ。個人的にはSeleniumIDEの方は使ったこと無くて、最初からRCだけ使っていて十分便利だと思っているのだが。ちなみにそのRCも、テスト用に使ってるのではなく、ブラウザを自動操作するMechanize的なツールとして使っている。(Mechanizeでは上手く行かないところがあったので。)SeleniumRCはテスト用途で無くとも便利な道具だと思う。

PHPUnitについては、最近は単なるxUnit系のテスティングフレームワークという枠を超えて、RSpecみたいなBDDの要素を取り込んだりして面白い事になっているという(詳しくは今回の発表の範囲外)。自分は何故だったかSimpleTestをずっと使っている為PHPUnitは全然チェックしていなかったが、ちょっと気になった。

CakePHPとか by shin1x1さん

どの様な経緯でCakePHPを使うようになったかという話から、ちょっとしたTIPS、実際の構築例まで。自分はCakePHPは使っていないのだが、こういった経験談というのは参考になるし面白い。Cakeを選んだ理由として、PHP4/5対応、ドキュメント充実、などの点を挙げていたが、ここら辺が自分がsymfonyを選んだ理由と対照的で興味深かった。自分の場合、CakeはPHP4対応という所で、オブジェクト指向的にイマイチなんじゃないかと思ったのがまずあったし、またドキュメントという点では、当時の時点ではsymfonyの方がしっかりしていたように感じられた、ということもあるので。まあでも、今の時点で選ぶならCakeにするかもなーとか思ったりして。それにしても、発表途中で出てきたCake内のSetとかの配列関係のライブラリは、どんだけarray好きやねん!という感じでちょっと引いた。XPath的に多次元配列の要素にアクセスできるような機能とか、かなりキモい。便利そうだけど。

PHPScraping2008 by させざきさん

Web::Scraper的に使えるPHPライブラリ、Diggin_Scraperの作者であるid:sasezakiさんによる発表。Diggin_Scraper知らなかったけどなかなかいい感じ!sfBrowser使ったテストとかでDOMXPath->query()とかチマチマやってassertしたりしてたんだが、試しに使ってみて大丈夫そうなら今後はこれを使おうと思った。発表後半では、HTTPアクセスして結果をスクレイプするようなコードを書く時に、HTTPリクエスト周りの抽象化にZend_Http_Client使ってやると、テストするのにテストアダプタ使えていいよ、といった話もあり、Zendフレームワームのライブラリって完全にスルーしてたけど実は色々便利なものが埋もれてるのか、という気付きがあった。

懇親会

一度会ってみたかったkunitさんですが、やはり熱い方で、飲みまくりながら色々語ってくれました。少し前の設計勉強会絡みの話から、開発中だというMapleの次期バージョンの設計思想まで。既にsymfonyやらCakePHPなどが出ている中で、フルスタックのフレームワークを作る気はもう無いという話やら、レイヤーアーキテクチャ大好きだから勿論そういう作りになるのを意識したフレームワークであるとか、複数のリソースが複合的に表示されたビューに対応するRESTfulなインターフェースの話とか、色々と。最近RESTやテスト駆動に傾倒されているようなので、その辺を強力にサポートするフレームワークになるのだろう。テスト可能性を重視するならやはりDIコンテナがあると良いのだけど。個人的にsymfony2で入る予定だというDIコンテナにもかなり期待してるので。それにしてもkunitさんはこの懇親会後、次の日KOFで発表があるにも関わらず、更に朝4時まで飲んでいたという。凄い。

その他、ずっと不思議な存在として気になっているrhacoについて、やはり何だか凄いものなのだということが色んな人の話からちょっと分ったり。というか、作者のtokushimaさんという方が非常に面白い人のようだ。あんまり使ってもらうことを前提としてないとか、色々自由過ぎる話に衝撃を受けた。