絶対完全無料ツールの紹介

エンジニア目線のブログです

kohanaとsymfonyを比較しながらfuelphpでアンケートサイトを作ってみた。その2

viewまわり

fuelはviewに渡すデータにsetメソッドで渡す方法とオブジェクトの変数で渡す方法があるので、cakephp,symfonyの経験がある人とか、kohana,codeigniterの経験がある人でも書きやすくしていると思う。
でも書き方が多いとメンテナンスが難しくなる気がします。

setメソッドでxss対策できるのは便利かも。

viewをまとめてエスケープしてくれる機能はsymfonyが簡単にできると思います。
だからsymfony遅いのかも(笑。

kohanaはサードパーティの「HTML Purifier」を使えってもしくは、1つずつエスケープの方法ですが、HTML Purifierは敷居が高そうなので、まだつかっていません。

URL設定
コントローラをフラットではなくディレクトリ構造にしたくて
kohanaではこのように設定しました。

$uri = preg_split("/[\/]+/", $_SERVER['REQUEST_URI']);

Route::set('default', '((/(/)))')
->defaults(array(
'directory' => 'home',
'controller' => $uri[1] ?: 'home',
'action' => 'index',
));


fuelphpではデフォルトでディレクトリ構造ができるます。
しかしhttp://***/home/のURLをhomeディレクトリ内のファイルをたたいてくれるようにできませんでした。
あとその他にも色々fuelのURL設定は結構むずかしかったです。

現場ではsymfonyをURL設定を変更せずにfrontend.phpを直接たたいて使っています。
http://***/frontend.php/コントローラ/
かっこ悪(笑。

だいたい、おおざっぱな違いを書いて見ました。細かいライブラリとかディレクトリ構造は慣れの問題だと思います。
それとSymfonyが大規模でcakePHPが中規模でCodeigniter,Kohana,Fuelphpが小規模っていう一般通説は個人的には
全然思わないです。

機能とかライブラリの多さが比例するとも思わないですし。。。
なければプラグインで足せばいいし。

以上です。比較は2回だけでした。

追記

ちなみにsymfonyが大規模と言われるゆえんをyahoo知恵袋で聞いてみました。
phpフレームワークの大規模、中規模、小規模の理由
結論から言えばJAVAに似ているからだそうです。
正直symfonyなんてメリットほとんどないのに,,,どんどんKOHANAを使っていきましょう。

 

2013.10.05

 

その翌年には残念ながらKohanaがなくなり、今ではsymfonyの後継のLaravelが

デファクトスタンダードになりました。

上の意見は今とほぼ変わってないですが、時代の流れ的には

「簡単に作れるシステムをあえて難しくしましょう」ってなってる気がします

プログラマーの給料を上げるためにはシステムをあえて複雑にした方がいいからです。

とほほ。。。

今では後述するGo言語が一番簡単で、一番速いのでゴリ押ししてます