MVCフレームワークは水物

Share on FacebookTweet about this on TwitterPin on PinterestShare on LinkedInShare on Google+Share on RedditShare on TumblrEmail this to someone

仕事でAngularJSを使ってるので、Zend Framework 2 (zf2) で作った Certification-trends.com のAngular 化をはじめてみた。

今回は、バックエンドをRESTfulサーバーとするので、zf2のテンプレート機能を殺し、ルーティングも殺し・・・とやってると、zf2のこの大量なライブラリーは何に必要になるのかという疑問が出てくる。DBもDoctrineを入れてみたが、5種類のQueryしか使ってないので、コードが増えるだけで意味が無いし、個人プロジェクトでDBへ変更する事など無い。

そんな時、会社で新規プロジェクトが始まり、PHP フレームワームの選定をすることになったので、良い機会なので自分のサイトもバックエンドを zf2 から他の PHP フレームワークを乗り換える事にしてみた。
人気という点では、ここ数年 Laravel が急上昇。人気があるフレームワークは、情報、ツール、ライブラリーが多いので開発工数が減らせるようだ。しっかし zf の人気の降下ぶりは凄い。Zend っていうキーワード使ってる点がちょっと気になるな。PHP認定試験、サーバーなどもあるので、フレームワークだけのもんじゃない気もするんだが・・・
http://zenofcoding.com/2015/11/16/the-great-php-mvc-framework-showdown-of-2016-cakephp-3-vs-symfony-2-vs-laravel-5-vs-zend-2/
いずれにしろ、Zf2、Synfony2 よりかは速いので選択肢としては申し分ない。

そして、以前から気になってた Phalcon を、もう一つ他の候補として挙げることにしてみた。Phalcon は絶対的なスピードの優位があるので、選択肢には入れておきたい。
フロントエンドの Angular 化がほぼ終わり、それぞれのフレームワークにコピーして、バックエンドを作るだけなので、そんな手間はない。必要な機能は以下
・REST
・CSRF Token
・Index (Styleテンプレート): JS、CSSファイルのロード用
・MySQLデータロードして、Jsonで返す

至ってシンプル。会社用のは、これにユーザー認証とかロールとか諸々追加しないといけないだろうな。

ひとまず、Phalcon から初めてみたが、非常にシンプル。フォルダー構造もシンプル。Zf2と違って RESTful サーバーとして使うことも想定されているので、APIも作りやすい。しかし zf2 ってなんであっちこっちにファイル作らないといけないんだろう?Laravel のようにライブラリーが豊富というわけではないようで、作る手間は zf2 と似たようなもんかな?似たような手間ならスピードに優位があるPhalconを選択すべきだろう。Developer tool というのがあるので、ファイル作ったり、テーブルをEntity化したりも普通にできる。

次に Laravel で作ってみた、フォルダーが結構多いが、色々機能を用意してあるからって感じもする。こちらもRESTful サーバーとして使う事を想定されているので、APIは作りやすい。コマンドラインから使う、Artisan が色々と助かる。

 

Phalcon も、Laravel も問題があった時に調べると、新しい情報が多く出てくるので助かるし、RESTfulサーバー程度ならどっちも似たような工数かと。スピードは断然Phalcon。数kbのデーターを返すのに、10 ms とかだし。zf2だと100 ms。

 

という事で、シンプルなサイトなので、スピード優位な Phalcon バックエンド以外が考えられない。次の更新時には、フレームワークの栄枯盛衰で状況が変わってるだろうし、数年後にまた検討してみよう。ひとまず、会社のプロジェクトは Laravel 。開発者を見つけやすい、育てやすいという点は大きい。

Bookmark the permalink.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です