「PHPのフレームワークは急速に進化している」---2006年8月19日,PHPカンファレンス2006が開催された。PHPカンファレンス2006は,日本PHPユーザ会が主催する,PHPに関する日本最大のイベントである。カンファレンスではPHPのパッチの作成やPEARへのライブラリ登録の体験談,フレームワークやAjaxなどの新技術に関する最新動向,デザイナとプログラマの協業に関する講演などが行われた。PHPのアーキテクトの一人であるZend Technologies CTO Zeev Suraski氏も登場し,PHPの今後の方向性に関して講演した。
日本PHPユーザ会 廣川類氏は「PHPの今とこれから2006: PHPの最新事情」と題して,PHPと日本PHPユーザ会の歩みを振り返るとともに,今後のPHPの進化の方向を概観した。廣川氏は2000年に100万程度だったPHPをインストールしたドメインが現在約2000万ドメインにまで増えているというNetcraftのデータなどを紹介しながらPHPの歴史をたどった。日本PHPユーザ会は2000年4月に発足し,国際化やメーリング・リスト,ドキュメント整備,イベントなどの活動を行ってきた。開発中の次期メジャー・バージョンPHPではUnicodeがネイティブに採用され,register_globals, magic_*, safe_modeといったレガシーなコードが削除されるなど,移行にあたっては大きな影響があるだろうと話した。
パネルディスカッションでは,Ethnaを開発したグリー CTOの藤本真樹氏,Mapleを開発した夢の街創造委員会の高橋邦彦氏,symfonyに詳しいディノの月宮紀柳氏,Zend Frameworkに詳しいジョルス 石川直人氏がPHPフレームワークの現状と将来について議論を交わした。MapleがDI(Dependency Injection)機能をサポートしたり,symfonyがWebブラウザでサーバー上のプログラムの変数の値などを参照できるデバッグモード機能を備え,EthnaもAjaxヘルパー機能の実装を計画するなど,急速に進化しているPHPフレームワークの状況が紹介された。
ビート・クラフトの小山哲志氏は「AJAX with PHP」と題して講演。小山氏が実際の業務システム向けに開発したPHPでのAjaxアプリケーションのデモなどを披露し,PHPでのプログラミング方法などを解説した。
今年のPHPカンファレンスでは「デザイナー&ビギナーズトラック」という名称で,デザイナー向けのセミナーも行われた。
アリウープ 柏岡秀男氏は「非エンジニアに送るPHPとの付き合い方」というテーマで講演。アシアル 田中正裕氏は「デザイナーとプログラマーに送るSmarty」と題しPHPのテンプレート・エンジンSmartyを紹介。web creators編集部の佐藤弘基氏と成田圭秀氏は「Web制作フローにおけるPHPとデザインの役割」と題し,プログラミングとデザインの関係や効率的なWeb制作ワークフローについて解説した。
エレクトロニック・サービス・イニシアチブ 大垣靖男氏は「危険なコード」と題し,Webアプリケーションのセキュリティについて講演した。同氏がSourceForgeで公開されている人気の高いオープンソース・ソフトウエアを調べたところ,ほとんどのアプリケーションに不適切なコーディングがあり,SQLインジェクションなどにつながる危険なセキュリティ・ホールも多数見つかったという。大垣氏は,他のシステムとの境界,すなわち入力と出力時点での検証と危険の除去を行うことでセキュリティを確保すべきと指摘する。
鈴木祥真氏は,HTML_TagCloudというライブラリを,PHPのライブラリ・パッケージであるPEARに登録した経験を紹介した。HTML_TagCloudは,ソーシャル・ニュースサイトnewsing.jpを構築した際に,PerlのHTML::TagCloud::ExtgendedというパッケージをPHPに移植したもの。ユーザーがコンテンツに付けたタグを,タグの数などに応じた様々な大きさの文字で表示するもの。はてなやdeli.ci.ousなどでも採用されている。鈴木氏は,せっかく作ったライブラリを広く使ってもらうためにPEARへの登録を思い立ち,コーディング規約に準拠させたりして整備,投票による審査をへて登録されるまでの過程を話した。
桝形誠二氏は「タコさんパッチ」という名称で,数多くのPHPのバグ修正などを行うパッチを作成している。桝形氏はパッチの制作過程をプレゼンで再現,「PHPのカスタマイズは,実はそれほど難しくないということを理解してもらえればうれしい」と話した。
サイボウズ・ラボの鶴岡直也氏は,「Rasmus Lerdorf氏はOSCON2006で『「Getting Rich with PHP 5(PHP5でリッチに!)』という発表を行ったが,PHP4でもリッチなユーザー・インタフェースは作れる」と,PHP4とEthnaで作成したAjaxアプリケーションをデモした。
最後は来日したZend Technologies CTO Zeev Suraski氏が登壇。開発中のZend FrameworkおよびPHP6などについて講演した(関連記事)。開発者の多いカンファレンスらしくコード例も交えた詳しい解説が行われた(講演資料,PDF)。講演後は,Unicodeを採用するPHP6への日本語アプリケーションの移行などに関して,多くの質疑応答が交わされた。Suraski氏は「PHP5からPHP6へのマルチバイト・アプリケーションの移植方法については,まだ決まっていない。移行ツールを用意することも考えているが,アプリケーション側での努力が必要になるかもしれない。PHP6ではSafe modeはなくなるが,safe modeを判定する関数は互換性維持のために残し,常にFALSEを返すようになる」などと話した。
【訂正】
掲載当初「HTML_TagCloudはHTML::TagCloudというパッケージをPHPに移植したもの」と記述しておりましたが正しくは「HTML::TagCloud::Extgended」です。お詫びして訂正いたします。