PHPのフレームワークってどうなのよ | ライタス株式会社

唐突かつ今更感のあるタイトルですが、色々なプロジェクトでフレームワークを利用したほうが、効率がいいやら何やらでフレームワークの利用が推奨されてますね。

元々、私は.netをやっていたこともありフレームワークには一定の理解はしておりますがPHPってフレームワーク使うほどのモンなのかなぁと思っております。
何故か、という理由を挙げる前にPHPのフレームワークの利用ってどうなってるのかちょっと調べてみた。

-----
参考URL:https://blog.techstars.jp/framework2/
2016年2月現在のPHP Framework利用動向
日本だと
・CakePHPが一時期多かったけど減少傾向
・Laravelが増加傾向、でもCakePHPを追い抜くまでではない
・それ以外はどんぐりの背比べ
海外だと
・Laravel主流、ダントツ
・それ以外はどんぐりの背比べ
-----

んで、動向は大体理解したとして個人的に「フレームワーク使わなくていいんでね?」
と思う理由は以下のとおり

1. そもそもPHP自体フレームワークっぽくない?

これは実際PHPやってて思ったことだけど、PHP自体ライブラリ豊富だし、クラス体系ある程度しっかりしてるからわざわざフレームワークでラッパーするよりライブラリを直接利用すれば問題ないんじゃね?
例えとしてPDOを例に挙げるけど、わざわざフレームワーク側のDB処理なんて覚えなくてもいいし「かゆいところに手が届く」と思うんだけどね。

2.フレームワークを覚える = 言語ができる ではない

.net frameworkみたいにほぼほぼ言語と一体化しているならともかく、個人的にPHPのフレームワークはあくまでもソフトウェアと考えているので、フレームワークを扱えることが言語ができることにはならないと思っている。

極端な例だけど「PHPできます」という触れ込みでフレームワークなしのPHP案件やってもらおうとしたんだけど、フレームワークのお作法しか理解してないということがあった。
「PHPできます」という人に出会ったらフレームワーク利用の有無を聞くのは個人的に必須項目としている。

3. 保守しにくい
これが多分1番の理由なんだけど、「フレームワークを使うと保守しやすい」と色々言われているけど、この場合の保守しやすいってのは「(そのフレームワークを知っている人がいれば)保守しやすい」という限定的なものだと思うのね。

要は、フレームワークって言語理解を前提とした上でフレームワークの作法を理解しなくてはいけないから、当たり前だけどフレームワークを理解しないといけないわけでして。
(そう言うと「言語理解にも時間かかるだろ」という声が出てきそうだけど、そもそも言語理解していないならやれねーよ、ということでよろしく。)

ソースを自分でずっと管理・開発してる分ならば、保守という面では問題ない(他の問題がありそうだけどここでは突っ込まない)けど、他の人が引き継いでやります、ってなった場合にその人が対象のフレームワークを理解しているとは限らないしね。
-----

といった感じで「フレームワークを使わなくてもいい理由」をツラツラと挙げてみた。
正直、この手の話題は宗教論争に発生するんだけど、メリットがデメリットを上回ることができれば利用してもいいと思うし、個人的にはまだデメリットが上回っていると思っていてその理由が上記のとおりで、1番思うことは当たり前だけど

「言語だろうがフレームワークだろうが、理解しないで
使うと痛い目をみる」

ということかなと。


ちなみに海外で1番人気のLaravelですが、個人的にメリットが多かったしてもLaravelを利用することは今後数年はないかと思われます。

何故って?








初対面の技術者から唐突にLaravelの素晴らしさをイヤというほど語られたから




あれはLaravelに対する「愛」だね…キモチワル

コメント

このブログの人気の投稿

Firefoxを起動したら、Couldn't load XPCOM. というエラーが出る時の対処法 | ライタス株式会社

マテビュー(マテリアライズドビュー:Materialized View)のせいで、表領域が削除ができない | ライタス株式会社

[Virus Error]と件名に挿入されたメール