9月10日,大田区産業プラザPiOにて「PHPカンファレンス2011」が開催されます。本稿では,本イベントの各セッションの模様を随時更新の形式でレポートしていきます。
会場設営が大分終わり,参加者の皆さんを待っているメイントラックのホールです。
今年のスタッフTシャツです。
会場に来られない方のために,ベストエフォートでUstreamによる中継が行われています。各トラックのチャンネルは以下のとおりです。
廣川類さん「基調講演」
PHPカンファレンス2011は,PHPユーザー会の廣川類さんによる基調講演で幕を開けました。
まずは「PHPの歩み」として,PHPがブレイクしたきっかけとなったバージョン4から現在の5.3についてのおさらい,そして次期バージョンの5.4についての解説が続きます。PHP 5.4では,10~15%のパフォーマンス改善,コードの再利用性を改善する「Traits」,マルチバイト対応の強化などが盛り込まれ,今月末にはRC1が出る予定とのことです。
Traitsの具体例や新構文($a = [1,2,3]; といった配列定義の簡略表記など),UTF-8のチェック強化,携帯絵文字変換の改善などを紹介しました。PHP5.4で導入される新機能の紹介は会場の興味を引いていました。
また,PHP 5.3.7で発生したcrypt()関数のバグの話にも触れ,XFAIL(experimental fail)という新しい仕組みの導入が検討されている話も紹介しました。
PHPが成功した理由として,「Scales」(小規模サイトからFacebookなどの大規模サービスまで対応するスケール),「Easy to learn」(言語のシンプルさやドキュメントの豊富さによる学びやすさ),「Easy to manage」(必要十分な現実会を提供する)の3点を挙げていました。今後もWebの進化に対応してゆくPHPから,目が離せません。
sasezakiさん「PHPライブラリの歩き方・作り方」
Zend Framework 2やSymfony 2のコントリビューターであるsasezakiさんによる,PHPライブラリについての講演です。
PHPのライブラリは,9月5日現在でPEARに570本,PECLに272本しかなく,2万本前後のライブラリがあるPerlやRuby,Pythonに水を開けられています。「欲しいライブラリが見つからなかったら自分で作るしかない」ということで,PHPライブラリを作る上での注意点を話しました。
まずは名前空間の付け方として,Doctrine\Common\Cacheのようにベンダー名・ライブラリ名を必ず先頭の名前空間とし,次にパッケージ名を付けることが重要と言います。新しくライブラリを作る場合は,まだ使われていないベンダー名で新たに命名すべきだが,pで始まる単語や造語は大抵取られているそうです。
次いで,クラスの読み込みは「PSR-0」(PHP Standard Working Groupによる「オートローダーの相互利用性を確保するための必須要件」の標準化)に従うべきと言います。また,ファイルの読み込みに失敗した時などのエラー時に,独自の例外ベースクラスから派生した例外をスローすると,ランタイムの例外なのかロジック上の例外なのかが例外名から判断するほかなかったというZend Framework 1の過ちを例に引き,このような場合はSPL(Standard PHP Library)のRuntimeExceptionとLogicExceptionをスローするとよいとのことです。ほかにも,モダンプログラミングがベストプラクティスとは限らない(マジックメソッドによる自動化は学習を困難にさせる)などの実践的な話が続きました。
最後に,パッケージの依存性の問題を解消するために,PyrusでプロジェクトローカルなPEAR環境を作る手順について説明がありました。
「今回話せなかった内容はいろいろある。『オープンソースソフトウェアの育て方』がオンラインで読めるのでぜひ読もう!」と述べて,セッションは締めくくりました。
柏岡秀男さん「30初心者セッション「もうHello Worldはいらない!」~テンプレート編集からはじめるPHP入門~」
PHPユーザ会発起人の一人、そしてPHPハンドブックの著者でもある柏岡さんのセッションです。
まずはじめにPHPの概論を話しました。PHPは1994年という説もありますが1995年Rasmusさんが作たこと、初期のコードはすごく簡単で<?--incliude /text/jeader.html-->みたいな感じだったことが語られました。また、PHPの良いところは初期から今に至るまで変わっていないとし、以下の点を挙げました。
- 1週間くらいあれば習得が容易
- 利用可能なプラットフォームが多数
- htmlとの親和性が高いこと
- 豊富なOSSアプリが存在
「硬く構えずに、どんどん覚えていきましょう」と述べていました。
続けて、MVCを説明しました。MVCとは「Model:データの集まりを扱う」「View:表示を扱う」「Controler:MとVのコントロールを行う」と紹介し,このように分けることでプログラムのメンテナンス性はアップすることや、プログラムとデザインの分離を図り、平行作業が行えることを説明しました。
その後、PHPの基礎を説明しました。PHPの知識は「最低限の知識が必要です。でも3日程度」「プログラム構築できるほどは必要はありません」「大体読めば分かります」と言います。さらに、関数は「PHPが行う処理」「()が付いている」「<?php get_header(); ?>という感じ」「返り値の有無には注意」とし、変数は「$xxxxxで表されるもの」「条件判定に使われたりする」と示しました。また,echoは表示のもっともメジャーでよく見ることになり,フレームワーク等ではショートタグにて同様の処理の記述をするものもあるそうです。
構文は通常のPHPの構文と違う書き方、例としては以下のような形になります。構文を使うとhtmlのっぽいことを説明しました。
<?php if($a == 5):?>
<p>hogehoge</p>
<?php endif?>>
その他にも繰り返し処理を行うfor/do~whileループの構文を説明しました。
最後に、各種フレームワークOSCの説明がありました。WordPressセクション、CodceIgniterセクション、Ethnaセクションと分けて、テンプレートの実例を紹介しました。どれを触るにしても、そんなに難しくはないから、色々触ってみるのが良いです!という心強い言葉で締めくくられました。
田窪亜矢さん,有滝貴広さん「ウェブデザイナー向けPHP解説&入門」
テックトラックでのセッション第一弾は,田窪亜矢さん有滝貴広さんによるPHPの習得を考えているWEBクリエイターを対象とした初心者向けのセッションとなります。
田窪亜矢さん
最初に,田窪亜矢さんよりWEBクリエイターがPHPを習得するメリットが紹介されました。 WEBクリエイターが身につけたい技術としてPHPはディレクター職・デザイナー職共に上位にランクしており,コスト削減・案件の受注額アップ・給与アップに繋がるなどWEBクリエイターにとっても重要な技術となっているそうです。
有滝貴広さん
続いて,有滝貴広さんよりプログラミング言語としてのPHPが紹介されました。 WEBクリエイターにとってプログラミングというものは「難しい」というイメージを持たれがちですが,PHPがいかに簡単かを説明するために実際に5分程度の時間を使い,掲示板のサンプルプログラムを作成し紹介しました(サンプルプログラムでエラーが発生し、その場でスタッフの助言で解決するというアクシデントもありました)。

