カテゴリー ‘ Laravel

有力なPHPフレームワークのGoogle Insights結果 (FuelPHP,Laravel,CodeIgniter,Symfony,CakePHP)


たくさんあるPHPフレームワークの注目度ってどうなんだろうと思って「Google Insights for Search」を使用して調べてみました。

対象としたフレームワークは、

です。

フィルタ:ウェブ検索、全ての国、2012年

意外だったのが「CodeIgniter」の検索数がトップだったことです。

5年位前に「CodeIgniter 1.6」を使い出した頃には、日本では猫も杓子も「CakePHP」だったように思います。

ということで、

フィルタ:ウェブ検索、全ての国、2004年〜2012年9月

やっぱりSymphonyCakePHPが5年前には大人気CodeIgniterも人気が出てきた所ですね。

FuelPHPLavarelは最近人気が出てきているフレームワークですが3大フレームワークが邪魔をしてよく分かりません。

今年の検索量に戻して、それぞれ何処の地域で検索されているのか見てみると

FuelPHP

アメリカと日本です。

日本の検索ボリュームが実は一番あるようです。これは、意外です。

Laravel

もうアメリカでしか検索されていない…。

実は、私は最近FuelPHPよりLaravelの方を利用しています。

で、最初のグラフ良く見てください。

実はこの1ヶ月くらいはFuelPHPの検索量をLaravelが抜いています。

CodeIgniter

東南アジアで人気なんですね。なんでだろ???

Symfony

東ヨーロッパで人気なのかな。

CakePHP

おっインドすげぇ、やっぱり日本でも安定の検索量w

ちょっと思考を変えて「FuelPHP」と「Laravel」を比較してみます。

FuelPHPとLaravelの比較

先ほども言ったのですが、注目度でLaravelFuelPHPを抜いています。

Laravel大注目です!!

検索量がアメリカ日本でしか無いので、2つの国それぞれどんな検索量なのか見てみます。

アメリカ

日本

おお、残念w日本ではLaravelというフレームワークは全く人気なし。

FuelPHPが凄い人気だ。

でも、アメリカではFuelPHPに変わって、人気が出てきているLaravel

日本でも何かで火がつくと一気に追い抜く人気のポテンシャルは持っていると思います。

Laravel 大注目です。

最後に日本で他のフレームワークも含めた検索量を見てみます。

日本のフレームワーク検索量

日本では、CakePHPが大人気です。

ついでSymfonyCodeIgniterFuelPHP

Laravelは全く人気なし。

これを見るとFuelPHPは短期間でどれだけ注目されているのかがよく分かる結果になっており凄いです!

でもやっぱり、Laravelが大注目ですよ!!

検索量からの結果なので一概には言えないですが、これが「Goolge Insights for Search」から見たフレームワークの人気度です。

気になる事柄があったら検索してみても面白いと思います。

LaravelのEloquent ORMの仕組みが面白い


ちょっと、FuelPHPでなく「Laravel」というPHPフレームワークを触っていて

「Eloquent ORM」というORMの仕組みが付いているのだがこれが何をやってんだろって興味がわいてソースを見てみたというよりどうやって使えばいいんだろ?って思ったのが本当なのですが。

ドキュメントを見ると使い方は

のように書かれている。

うーん、自分でModelにメソッドを追加する場合、

  • staticでメソッドを作る?
  • none staticでメソッドを作る?

どっちがいいんだろうかというのが、まずそもそもの疑問の発端です。

で、ドキュメントでよく使われている「whereメソッド」や「findメソッド」って何処にどのように記述されているのか?

これが、このORMの全ての仕組みの源になっている。

全てインスタンスメソッドはこれ経由で呼び出し可能!!!!

自分の中での結論は、

  • どっちでもいいんじゃね?

そして、その中で「queryオブジェクト」は「__callStatic」「__call」経由で取得する使い方が上手い使い方かと。

 

LaravelのRouting


最近、FuelPHPからLaravelの方がシンプルで良くない?って事で使っています。

で両方のRoutingの自分の気になった箇所を動作確認したので覚書

特にRoutingの中での「?」の使い方についてです。

Laravel

まず、「routes.php」の内容を以下のように設定してみた

これでまず、

「http://test2.com/a」でアクセスすると「2」にルーティングされそうだが→「404 Not Found」

「http://test2.com/a/1」でアクセスすると「2」にルーティングされそうだが→「404 Not Found」

「http://test2.com/bb/a」でアクセスすると→「a 9999」

「http://test2.com/bb/a/1」でアクセスすると→「a 1」

となる。

ここで「routes.php」の内容を

と変更すると

「http://test2.com/a」でアクセスすると→「a 9999」

となる

「?」を使用する場合は注意が必要のようです。

return top