PHPカンファレンス2011 スペシャルレポート

当日レポート[随時更新]

この記事を読むのに必要な時間:およそ 11 分

David Coallierさん「Taking PHP to the next level」

OrchestraのCTO、David Coallierさんによる講演です。

「PHPの歴史を振り返りたい」として、PHP 5.3の名前空間、クロージャ、λなどのおさらいから入ります。⁠5.3に盛り込まれた機能はたくさんあるが、知らないものや使ったことがないものもあるだろう」でとして、PHP-FPMやAdvanced DateTime、Pharファイルを挙げました。

続いて話題はPHP 5.4へと移ります。⁠PHP 5.4は、個人的には『Little PHP 6』と呼びたい」と言います。PHP 6で盛り込まれる予定の機能がほとんどサポートされているからです。配列の簡略記法、⁠$obj->method($var)[2];」のようなJavaScriptでは見慣れた記法、Traitsの簡単な説明をしました。-S オプションをつけて起動するとWebサーバーになる話の後、⁠5.3以前のPHPは、喩えて言うなら西洋式のトイレだ。トイレはそれ単体で機能し、隣にはビデがある。それがWebサーバーだ」と述べると、スライドには日本のウォシュレットが映し出され、⁠5.4はより完璧で一体感があり、日本のトイレのようだ」と言及し,会場の笑いを誘います。

「もはやPHPは、ウェブページを書くためだけの言語ではない」として、PHPUnitやXDebug、CodeSnifferなどのツール、Symfony 2やZend Framework 2などのフレームワークを取り上げます。また、アプリケーションのデプロイを簡略化するソリューションとして、ご自身が開発しているOrchestraの紹介もありました。

最後に、会場に向かって「今までに何らかのオープンソースにコントリビュートしたことのある人?」と質問を投げかけたDavidさん。挙がった手の少なさに「もっと貢献してほしい。オープンソースへのコントリビュートは、達成感のある経験だと思う。自身のキャリアにも、コミュニティにとってもプラスになる」⁠何もコードを書くだけが貢献ではない。私の妻はイベントを組織したり、言語ファイルを翻訳したりしている」と、日本の開発者へメッセージを送りました。

画像

画像

anatooさん「PHPをハックしてオレオレ文法を追加する」

もう少しこの言語便利だったら…と思う人はいても,実際にhackする人はなかなかいません。 そんな少数派の試みをおこなったanatooさんの講演です。

講演内容は、hello world; でhello worldを出力しようという、簡単なモノから始まり、ruby likeに無名関数を作る方法やスカラーっぽく書く方法などなど、とても面白い内容でした。

PHPが実行されるまでの言語処理の流れをコード付で順を追って解説したため、とても分かりやすく感じました。 字句解析(re2c) phpソースをトークンに分解、構文解析(bison)、zendエンジンへのコンパイル(PHP->C⁠⁠、zendエンジンでの言語によって細部は若干異なるものの、言語のカスタマイズをする際に共通して使える考え方でした。

最後の質疑応答の際の回答が素晴らしいものでした。⁠使えるから研究するのではなく、楽しいから勉強して、結果仕事に活きる」そうです。とてもいいマインドですね!

画像

画像

chobieさん「PHP doesn't suck!」

PHP Extensionで記載したほうが早いところか,PHPをがあるか見極める必要があるとのことでした。永続的な値の保存方法をひとつ取り上げながら,実際に使用するメリットの説明もありました。

「飢えと希望と絶望を与えてくれるPHPにZendEngineStudyを!」と述べた時は会場になんともいえない失笑が響きました。

30分でわかる PHP Extensionの作り方を学べる記事をかいたよー \(^o^)/ という記事にまとまっているので是非見てほしいと述べました。今後はノウハウややりたいことのまとめを行いますと宣言していました。

画像

画像

中村智洋さん「スタート Sphinx」

Sphinxはドキュメンテーション出力ツールで,ツリー構造の文章を記述できるアプリケーションとのことです。実はPHPの話ではありませんが,文章を書くことが魔法のように楽しくなるツールなので是非覚えましょうと話します。

Windowsでもスタンドアローンインストールを使えば簡単にインストールできるため,まずはインストールをすることを薦ていました。

続いて,Linuxで実際にドキュメントが生成されるまでのデモを行いました。インストールの概要は,製作者の名前,生成する場所(ディレクトリパス⁠⁠,プロジェクト名などをクイックスタートに言われるままに入力することでドキュメントが生成されるという形で進んで行きました。また,ドキュメントの修正方法についてもその場でデモが行われました。

OSSで使われている事例については,PHPのフレームワークであるSymfonyを挙げていました。Sphinxはドキュメント生成ツールなので,htmlの出力も,PDFの出力も可能です。サンプルもインターネットを探せば沢山ありますので,どんどん使ってみましょうと締めくりました。

最後の質疑応答でWikiに比べての優位性が問われたところ,Wikiはネットからの編集,Sphinxはネットワークに繋がずに編集できるというメリットがあると述べていました。

画像

画像

亀井亜佐夫さん「Cena-DTA:HTML5のローカルDBを使ったアプリ開発」

HTML5の代表的な新機能であるローカルDBを活用したアプリ開発に関して亀井亜佐夫さんからの講演です。

まず,ローカルDBの活用事例として、

  • すべてのデータをダウンロード
  • ローカルで一括編集
  • 一括アップロード

という流れで作業を行うのではないかと紹介しましたが,IDの自動発番と同期の問題が発生します。そこでDB間の同期を保証する仕組みとして,Cena-DTAを紹介しました。

続いて,Cena-DTAのインストールと利用方法のデモが行われました。 現在のところ接続先のDBはMySQLによる動作しか検証されていないようです。インストールが完了しDB接続情報の設定が正常に行なえたら,その後の作業は全てブラウザ上で行えます。ローカル(ブラウザ)で編集を行い,アップロード処理を行うとサーバー上のDBに同期されるような流れとなります。

Cena-DTAの実行環境としては,

  • サーバー:PHP5.3 & MySQL
  • クライアント:Google Chrome推奨

となるそうです。 HTML5ということで,現在のところ最もHTML5の実装が進んでいるChromeが推奨ブラウザということになっているのだと思います。

最後に類似技術を紹介しました。Random IDはGoogleカレンダーで使用されている技術だそうです。Cena-DTAの優位性としては確実に同期できること,一般的なRDBに対応できることを挙げていました。問題点としては簡単ではないこと,ORMに依存していること,そして活用方法は考えていないが特許を取得した事を挙げていました。 まだ過渡期の技術ですが今後どんどん開発が進んでいく注目の技術かもしれません。

画像

画像

著者プロフィール

春原宏保(すのはらひろやす)

長野市在住。C++とDelphiの仕事が続いていたが,この春からWindows Azureも手がけるようになった。仕事が一段落したら,Azure上でPHPを動かしてみたいと思っている。

URL:http://d.hatena.ne.jp/suno88/

Twitter:@suno88


戸井健吾(といけんご)

岡山県倉敷市在住。企業向けのシステム開発を担当する傍ら,最近仕事で使う機会が増えたPHPに強い関心を持ち,PHPで作成したサイトの運営を行っている。

URL:http://estpolis.com/

Twitter:@ktoi_chi


中村慎吾(なかむらしんご)

東京都港区在住。仕事でPHPを使うようになって7年。楽しい事には何でもやってみるスタイル。趣味はプログラミング,仕事もプログラミング。PHPのフレームワーク「Symfony」が大好きで,ユーザー会立ち上げにも参加。

URL:http://d.hatena.ne.jp/n416/

Twitter:@n416

バックナンバー

PHPカンファレンス2011 スペシャルレポート