PHPフレームワーク私的で感覚的な比較
目次
比較するPHPフレームワーク
追記
- codeigniterのライセンス元を追記 & ライセンスを詳しく調べていただいる方がいるのでそちらへリンク追加しました。
FuelPHP1.6, CodeIgniter2.0, CakePHP2.3のコントローラ部分と、DBへのクエリ部分を比較するためにとりあえず並べてみました。
Controller
FuelPHP
class Controller_Example extends Controller
{
public function action_index()
{
$data['css'] = Asset::css(array('reset.css','960.css','main.css'));
return Response::forge(View::forge('welcome/index'));
}
}
CodeIgniter
class Example extends CI_Controller
{
public function index()
{
$this->load->view('index');
return true;
}
}
CakePHP
class ExampleController extends AppController
{
public function index()
{
// /View/Example/index.ctpのビューが自動的に描画
}
}
Select文
SELECT * FROM mytable WHRERE id = 1
FuelPHP
\DB::select('*')->from('mytable')->where('id', '=', 1);
CodeIgniter
$this->db->get_where('mytable', array('id' => 1));
CakePHP
$this->Mytables->find('all', array(
'conditions' => array('Mytables.id' => 1)
));
私的で感覚的なフレームワークの特徴
FuelPHP
- MongoDB, Redisなどをサポート
- Model, Viewの呼出し方が柔軟
- 小規模〜大規模まで幅広く対応
- ディレクトリ構造が深くて行ったり来たりがめんどう
- なんかてにしっくり来るようで一押し
CodeIgniter
- Model, Viewの呼出し方がFuelPHPと似ていて柔軟
- マニュアルが見やすい
- MVCとしてはシンプルで扱い易い (ディレクトリ構成、共通処理用Helperなど)
- フレームワークに慣れたい初心者にも向いている…と思う
- 小規模〜中規模まで対応
- 独自ライセンスからバージョン3ではOSLへ → 詳しく調べていた方へのリンク
- 絶賛引取先コミュニティ募集中らしい
CakePHP
- 命名規則がしっかりしている(ファイル名、コントローラ名….)
- コントローラ名 ≒ Model名 ≒ DB table名
- 命名さえ気をつければ特に何もしなくても開発できる
- コントローラの中身が作りやすい
- なんでもコントローラにかけちゃう
- コントローラの柔軟性が高い
- コントローラが肥大化する傾向
- View部分が理解しやすい構造
- Views/element (ex. 共通メニュー)
- Layout/default.ctp (ex. テンプレート大本)
- 中規模程度だとちょうどいいかも
その他にも毛色が違うYiiとPhalconが気になっているのでそのうちなんとかしたいなぁ。
-
前の記事
HipChatでサーバの死活監視を行う 2014.02.14
-
次の記事
eポートフォリオ構築CMSのmaharaを起動させてみた 2014.02.19
コメントを投稿するにはログインしてください。