Phalconを使う前に知っておきたい、各機能とインストール方法
はじめに
PHPは最も使われているサーバーサイドスクリプト言語の一つですが、スマートフォンアプリ開発の現場などにおいても、サーバーサイド言語にPHP5.5とPHPフレームワークのPhalconを使った製品開発に使用されています。
今回は実際に開発で今まで得られた経験なども交えつつ、Phalconを使った具体的な開発についてご紹介します。
対象となる読者
- PHPの一般的な知識をお持ちの方
- CakePHPなど、他のPHPフレームワークを用いた開発の経験をお持ちの方
フレームワークを使うメリット
今回ご紹介するPhalconをはじめとして、PHP開発ではフレームワークを用いた開発をよく見かけます。
もちろん、PHPのみでコーディングを進めることもできますが、開発フレームワークを導入する利点としては
- チーム開発が楽になる
- MVC分離やコントローラー単位などチーム開発を行う上で分業しやすくなる
- 予め用意されたコードにより生産性が向上する
- フレームワークではデータベースアクセスやセッション管理など、「Webアプリケーション」に共通して必要となる機能が大抵の場合既に準備されています、フレームワークを用いてこれらの機能を毎回実装する必要が無くなります。
- 拡張、変更に対応しやすくなる
- 各ライブラリの管理や拡張方法は、フレームワーク毎に方法が準備されているケースが大抵で、拡張、変更を一貫したルールで行えます。
これらのメリットから、ある一定の規模を超える「Webアプリケーション」の開発であれば、フレームワークを使った開発はとても便利で有用です。
Phalconとは
Phalconは、PHP5.3以降向けに開発されているオープンソース(New BSD License)のWebアプリケーションフレームワークです。プラットフォームはWindows/Mac/LinuxのPHPに対応しています。
開発サイトにも「The fastest PHP Framework」と銘打つ程の省メモリ、高速動作が特徴の一つです。
一般的なフレームワークで用意される大抵の機能をPhalconは実装しています。
Phalconフレームワークのアプローチ
通常、PHP言語のフレームワークはPHPで記述されていることがほとんどですが、PhalconはPHPエクステンションとしてC言語で実装しています。
結果を鵜呑みにはできませんが、ドキュメントに記載されているベンチマークでは、RequestからResponseまでの速度に定評のあるCodeigniterの1.5倍から2倍程度の結果を出しており、メモリ使用量に関しても30%程度メモリ消費が少ないことが分かります。
サーバー1台あたりの性能は、高トラフィックが発生するソーシャルゲームやスマートフォン向けネイティブアプリのREST APIにはとても重要な要素でもあります。
反面、フレームワークがPHPエクステンションとして実装されていることから、フレームワークそのものに由来するバグなどの修正はC言語で行うケースも考えられますし、その際はWebサーバーに再度PHP拡張をインストールする点がデメリットといえるでしょう。