TOP書籍連動> XSLTを作成するTorPUGのGaiaプロジェクト
フレームワークの役割とその構築
フレームワークの役割とその構築

第1回:フレームワークの実用化に向けて

著者:Darryl Patterson   2006/7/26
前のページ  1  2
XSLTを作成するTorPUGのGaiaプロジェクト

   現在、様々なPHPのテンプレートエンジンが公開されています。これらを色々と試してみましたが、特に気に入ったものは見つかりませんでした。一番不満なのは、テンプレートごとに独自のやり方を覚えなければならない点です。テンプレートは独自仕様のものが多いため、1つのやり方を覚えても別のものに欠かせません。

   筆者はXMLやXSLTはテンプレートエンジンに理想的な言語だと思いはじめていました。XSLTではある一種のXMLドキュメントを別形式に変えることができ、XMLは標準として広く受け入れられているからです。このような経緯で、TorPUG(the Toronto PHP User Group)の助けを借りながらXSLTテンプレートエンジン作りに取り組みました。

   筆者たちはグループとして簡単なプロトタイプを作り、大成功を収めました。そして、このプロジェクトにGaiaと名前を付け、小さなプロジェクトでこのテンプレートエンジンを使いはじめました。今のところとても順調に進んでいます。

実用化に向けて

   Web開発は2005年の春にはじまりましたが、当時は会社ができてまだ間もない頃でした。開発環境は理想的なものではなく、各プロジェクトで独自のコーディングを行っていました。筆者がコーディング標準を決め、すべてのプロジェクトで利用できる共通のフレームワークを作ったのは、ごく自然なことです。開発者/プロジェクトマネージャ/アカウント管理者/その他スタッフとのミーティングを重ねて、様々な問題に焦点を当てた優先事項をリストとしてまとめました。

  • サイトは素早く更新できなければならない
  • データは信頼できる統一された方法で扱う
  • 機能はプロジェクトによらず再利用できるようにする
  • URLは明確で、サーチエンジンに検索されやすいようにする
  • Webサイトは安全でなければならない
  • Webサイトは2つの言語をサポートしなければならない(筆者たちカナダ人の場合は英語とフランス語)
  • 新しい開発者が理解しやすいものでなければならない

表1:様々な問題に焦点を当てた優先事項の一覧

   リストを作成後、このリストを念頭に置いて開発することにしました。すると程なくして、フレームワークがこれらの要件を解決するソリューションだということを理解しました。よって、公開されている様々なPHPフレームワークを試していくことからはじめ、CMSを使うことも検討しました。

   フレームワークの多くはリストアップした要件のほとんどを満たしていましたが、最後の1つの条件、コードは新しい開発者にも理解しやすいものでなければならないというのを満たしているものがありませんでした。

   フレームワークやCMSは独自の方法を用いて、コーディングをある特定の枠にはめ込みます。その方法自体は間違っているわけではありません。Euro RSCG 4DのWebサイト(http://www.eurorscg.co.jp/)を構築する際の必要条件を満たしていなかっただけです。必要なのは筆者たちの開発プロセスに合ったフレームワークであり、仕事のやり方を変えることを強制されるようなフレームワークではないのです。

   筆者は一旦システムを構築した後に、ほとんど変更ができないフレームワークも望んでいませんでした。この結果、筆者はオリジナルのフレームワークを作らなければならないという結論に達したのです。

前のページ  1  2

PHPプログラマーズマガジン 書籍紹介
PHPプログラマーズマガジン

PHPプログラマーズマガジンは、PDF形式で読者の方にお届けするPHP言語(PHP: Hypertext Processor)専門誌です。 カナダMTA出版のphp|architect誌を日本語に翻訳し、独自の記事を加えて月刊でお届けしています。

発行:アシアル株式会社  価格:1,029円

 ご購入はこちら
http://www.phppro.jp/magazine/
Darryl Patterson
著者プロフィール
Darryl Patterson
1992年からWebプログラミングの仕事に従事している。彼はHTMLが使われはじめてから、その後Perl/CGI、Cold Fusion、ASPやPHPが使われるようになっていくWebの歴史とともに歩んできた。PHPでの開発は1998年から手がけており、今はトロントのEuro RSCG 4Dで開発チームのリーダー。また1995年からWebプログラミングをCentennial大学で教えており、そこでトロントのPHPユーザ会であるTorPUGを立ち上げた。


INDEX
第1回:フレームワークの実用化に向けて
  フレームワークとの出会い
XSLTを作成するTorPUGのGaiaプロジェクト