
PHPフレームワーク
2008年9月15日(月)
私はデスクトップアプリケーションの開発はC++、WEBアプリケーションはJava、Pythonで開発することがほとんどだ。WEBアプリで主流のPHP、Perlは通常は使わない。
4年ほど前だが、中規模のWEBアプリケーションを受注した。発注者側の希望はPHP言語での開発だったが、調査したところPHPでは不適当という結果となり、Java/Strutsで開発した。そのときPHPが「不適当」となった理由は次のように記憶している。
・開発効率を高めバグを少なく抑える観点から、開発はオブジェクト指向言語にしたい。しかしその当時のPHPは、オブジェクト指向機能が強化されたPHP5が出たばかりで、安定性に疑問があった。PHP4ではオブジェクト指向機能が不足していた。
・当時のPHP5周辺ライブラリはほとんど非クラス(非オブジェクト指向)だった。
・PHP5用のWEBアプリ用フレームワークが無かった。
このたび仕事先でちょっとしたWEBアプリを開発することになった。小規模アプリなので私は当然 Python/TurboGears での開発を提案したが却下され、PHPに決定となってしまった。ただ私の強い意向で、PHPフレームワークは使用して良いこととなった。
PHP言語は、オブジェクト指向できちんと作ればメンテナンスしやすい強固なプログラムを作ることができるが、(素人が作るような)力技のメンテナンス性に欠けた脆いプログラムも作ることができる。まあ自由度の高い言語といえばそうなのだが、自由度が高すぎるのも困ったものだ。そこで自由度にたがをはめる必要がある。その制約がフレームワーク、という訳だ。
調査したところ、結構良いフレームワークが出ているのに驚いた。私が良いと思ったのは
CakePHP, Ethna, CodeIgniter, Symfony の4つだ。これらはみな、Ruby言語の「お化けフレームワーク」である Ruby on Rails の影響を受けている。Ruby on Railsの人気は大変なものだ。他のあらゆるスクリプト言語で、Ruby on Railsライクなフレームワークが誕生している。PHPでもこれら4つがその代表選手だ。中でも CakePHPは、4つの中で一番 Ruby on Railsに近いような気がする。いまは、Symfonyを重点的に調査中だ。
それにしても私はPHP言語はそれほど好きになれない。大きな理由は、感覚的なものだが、ソースコードのルックスがあまり綺麗でないように感じるからだ。例えば、スクリプトの前後を
<?php
…
?>
で囲むのはどうも好きでない。また変数の前に $が必要なのもどうも美しくない。また例外処理で、finally が無いのは不満である。とはいえ仕事なので、好き嫌いには関係なくPHP+フレームワークでの開発作業にとりかかる。
コメント・トラックバック一覧(0)
コメントはまだありません。