konekto Inc with PHP , MySQL コネクト株式会社 技術情報コンテンツ


[[PHPアプリケーション]]

はじめに

Webを利用していると、多くのサイトでPHPが採用されていることがわかる。最近では 比較的大規模なサイトでPHPが採用されているのを目にする機会も多くなった。

こうしたWebアプリケーションの開発には多くのPHPエンジニア達が活躍していることだろう。そういった複数のエンジニアで、ある一定以上の規模をもつサイト構築を進めていく際に次のような経験をしたことはないだろうか。

  • あれ、この機能、似たようなのを別のところで作ってなかったっけ?
  • 新しい機能を作ってはみたものの、世の中にはもっとスマートに実装する方法があるんじゃ・・・
  • 急にデザイン変更してって言われても、修正範囲は膨大なんですけど・・・
  • バグ発覚!でもどこを修正すれば?更に修正による影響範囲は?

上記のような問題はPHPに限ったことではないが、多くのエンジニアが多少なりとも経験しているだろう。

そこでフレームワーク

そこでフレームワークの登場である。フレームワークは開発の様々なフェーズで提供されるが、ここではWebアプリケーションフレームワークについて説明することにする。

Webアプリケーションフレームワークとは、Webアプリケーションの土台となる枠組みを提供するものである。つまり、Webアプリケーション開発においては必須となる画面繊維、認証、セッション管理などの基本機能を提供してくれる。これにより似たような機能を都度実装する必要がなくなり、開発効率が向上する。

またフレームワークを利用するためには、MVCモデルなどのあらかじめ定義された実装ルールに従う必要がある為、技術者による実装方法のばらつきを防止することになり、可読性の向上や品質の向上が期待できる。

つまり、Webアプリケーションフレームワークを採用すれば、

  • 開発効率の向上
  • 品質の向上

が容易に実現できるのである。

コラム:MVCとは

MVCとは、開発に必要な要素を、Model(ビジネスロジック)、View(表示)、Controller(制御)の3層に分けて設計する考え方である。

Model(ビジネスロジック)データベースアクセスなどデータの取得やロジックを行う
View(表示)処理結果などのデータの表示を行う
Controller(制御)ModelとViewの制御を行う

まずビジネスロジックと表示部分が分離されるため、ビジネスロジックの実装はエンジニア、ページデザインはデザイナーといった分業が可能になり、開発効率が高まる。これは更に(よくあるリリース直前などの)急なデザインの変更にも対応しやすいというメリットもある。

また、3層に分割するということは、用件をきちんと整理して機能単位にコードを記述していく必要があるため、必然的に可読性が増し、デバッグなども容易となる。

つまり採用しない理由がないとても便利な設計手法である。


最終更新のRSS