TOPPHPチャンネル実際の利用例からPHPを理解する
PHP 今週の総まとめ
土日でPHPの達人になる!
ThinkITのPHP特集をおさらいしよう

週末から学びはじめるPHP

更新日:2007/6/1
1   2  次のページ

実際の利用例からPHPを理解する

   「第1回:まずはPHPの基礎を知るのが達人への第一歩」では、PHPがどのようなものかを理解することが達人への第一歩であると述べた。この「理解」には技術的な側面の理解と同時に「PHPを使ったソリューションにはどのようなものがあるか」といった事例的な部分も重要になる。

   今週ThinkITで公開されたPHP特集記事は、以下の6本だ。

【総力特集PHP】
PHP開発の秘訣
フレームワーク活用術
第1回:PHPフレームワークとは何か
第2回:Symfonyを例にしたフレームワークを使ったPHP開発
これがPHPアプリだ!! 第1回:定番のCMS
第2回:ブログ一期一会
PHP開発プロジェクト
の夢と現実
第2回:PHPによるシステム開発でコスト削減は実現できるのか
PHPの根幹Zend Engine 第2回:モジュールによる高速化と機能拡張

   新連載「PHP開発の秘訣フレームワーク活用術」と「これがPHPアプリだ!!」は、まさにこの2つの目的にそれぞれ合致している。まず「PHP開発の秘訣フレームワーク活用術」では、PHP開発をより効率的に進めるためのフレームワークを紹介している。さらに「これがPHPアプリだ!!」では、実際にPHPを使って開発されたアプリケーションを網羅した記事となっている。

   このほかにも「PHP開発プロジェクトの夢と現実」でコスト面からみるPHPのメリットを、「PHPの根幹Zend Engine」ではPHPの基盤技術をそれぞれ解説している。


PHP開発の秘訣フレームワーク活用術

   現在の大規模なプログラム開発において「フレームワーク」の存在は非常に大きな意味を持っている。このフレームワークをいかにPHPでも活用するかについて書かれたものが、この「PHP開発の秘訣フレームワーク活用術」だ。

   本連載ではPHPのフレームワークの1つである「Symfony」を例に、そのメリットや活用法を解説している。

Symfony PHP開発の秘訣フレームワーク活用術
第1回:PHPフレームワークとは何か
第2回 Symfonyを例にしたフレームワークを使ったPHP開発

著者:オープンドリーム  三宅 泰裕
もともとPHPというのは、大規模な開発を想定して開発された言語ではありません。「個人のホームページに簡単に動的なコンテンツを追加したい」という想いのもと、開発された言語であるのは、PHPがPersonal Home Page Toolsという名前で世に出たことでも皆様も良く知る所だと思います。

当初のPHPは、HTMLのページの中に動的なコンテンツを少し埋め込むために広く使用されました。その後PHP 4の登場により、オブジェクトの実装が実用に耐えるまでになり、少しずつ大規模なアプリケーションの開発に耐え得る言語として、PHPが認知されるようになりました。それを如実に示したのが、CMSであるXoopsやECサイト構築を支援する「osCommerce」です。

このような機械的な作業をするのがプログラムであり、プログラムを作成するのがプログラミングです。PHPはこのようなプログラムを作成するプログラミング言語の1つであり、PHPを使うことによってこのような動的コンテンツを生成することができるようになります。

   第1回では、PHPにフレームワークが必要とされるようになった背景と、現在一般的に活用されているフレームワークを解説している。これを読むことで、効率よく開発を進める上でのフレームワークの重要性を理解してもらえるだろう。

   さらに第2回では、実際にSymfonyを取り上げて活用法へと踏み込んでいる。

   Symfonyには以下のような特徴があります。

  • PHP 5に特化している(オブジェクト指向)
  • MVCモデルを採用
  • O/Rマッピング機能による、テーブルとクラスの高度なマッピング
  • RAD(Rapid Application Development)を可能にする各種ヘルパー
  • YAML not XML(データベースや検証ルールの設定にはYAMLを採用、XMLも使用できる)
  • ScaffoldingやAdmin Generatorなどの自動生成機能が秀逸
  • Ajaxとも容易に連動

表1:Symfonyの特徴

   表にあげたSymfonyの特徴の中でも自動生成機能はとても優れていて、管理画面をコマンド1つで生成できるのです。

   今回はSymfonyの理解が容易となるよう「sf_sandbox」というSymfonyの開発環境セットを導入してみます。これはデータベースとしてPHP 5にバンドルされているSQLiteを用いるようになっています。手軽にSymfonyを用いた開発をはじめたい人には最適です。


大規模開発におけるフレームワークの重要性

   「PHP開発の秘訣フレームワーク活用術」の第1回に、以下のような文章がある。

これは要するに、必要と思われる項目を遵守すべき枠組みとして決めてしまうわけです。コーディング規約策定や擦り合わせをはじめ、SQLの書き方やディレクトリ構造の規約、煩雑な設定の周知徹底など、およそ開発とはかけ離れたレイヤーでプロジェクトリーダーやマネージャーは奔走することになります。

しかしながら、そのすべてが枠組みのなかで決められていたらどうでしょうか。

フレームワークという枠組みを導入することで機械的に型にはまった開発が可能になります。ひいては開発の原点である「モノを作る」ということに集中できるようになります。基本的にフレームワークを導入するということは枠組みの中に納めるということですので、単純に開発効率のアップや煩雑な下準備からの開放ということにも繋がるのです。

   まさに、これがPHPでフレームワークを導入する大きなメリットなのだ。ぜひ実際にフレームワークを開発の現場で実際に役立ててもらいたい。

   続いては「実際にPHPで開発されたアプリケーション」の例をみて、PHPの知識をより深めてもらいたい。

1   2  次のページ

INDEX
週末から学びはじめるPHP
実際の利用例からPHPを理解する
  PHPアプリケーション大集合