私が「CakePHP」ではなく「CodeIgniter」を選んだ3つの理由

2014年7月3日

CodeIgniter

こんにちは、榊原です。
PHPフレームワーク導入を決めたあと、どのフレームワークにしようかといろいろ悩んだのですが、結局CodeIgniterにしました。その理由について書いていきます。
 
ちなみに比較対象はCakePHPです。日本でのシェアが大きく、日本語資料が多く(ここ重要)、ついでに知人が使ったことがあったので分からないことは聞ける、ということで最初はCakePHPを考えていました。

CodeIgniterが爆速

「色々なPHPフレームワークのパフォーマンスを比較」が詳しいのですが、MVCモデルを採用しているフレームワークの中ではCodeigniterが圧倒的に早かったのです。
 
68747470733a2f2f7062732e7477696d672e636f6d2f6d656469612f435358587667675559414137345f6a2e706e67
 
値が高いものほど速いです。ちなみに一番速いPinocoはMVCモデルではないから速いのです。
CakePHPとCodeIgniterを比較して、CakePHPの処理速度はないなー、と思ったのがまず最初でした。
 

CodeIgniterの学習コストの低さ

もう冗談なしで、CakePHPはマイルールが多すぎるのです。CakePHPでプログラムを覚えた人は、PHPerなんじゃなくて、CakePHPerなんだろうなぁ、と。その分いろいろなメリットもあるのでしょうが、私的にはそれを覚える学習コストが膨大すぎてやる気になりませんでした。そりゃ、関連書籍がいろいろと出るわけだ。
それに比べ、CodeIgniterはほとんど規則はありません。他のフレームワークが、超高速とか学習効果とか言ってるのを差し置いて
 

  • コマンドラインを使う必要がないフレームワークを好む人。
  • 決められたコーディングルールに厳格に従う必要がないフレームワークが欲しい人。

 
に使ってくれというすっごい割り切り戦略。惚れる。
ちなみに、だからこそというかCRUD機能(データベースから自動的にいろいろ生成する機能)なんてものは持っておりません。最小限しか機能はないから、コーディングルールが決まっていないだけです。
 

公式ドキュメントのシンプルさ

CakePHPもCodeIgniterもドキュメンテーションをわかりやすくしようと努力しているのは端々からわかります。しかしながら、その方向性が違います。
CakePHPは、チュートリアルでブログ開発のやり方について書いていて、そのあとで詳細を書く方式です。
 
Cookbook 2.x
 
それに対して、CodeIgniterは、MVCについてシンプルに書いたあとは、一般的なトピックについてちょろっと項目があって、あとはリファレンスがあるだけ。シンプル。そして、見やすい。
 
CodeIgniter ユーザガイド 日本語版(上のTABLE OF CONTENTSをクリックしてタブを下ろして下さい)
 

まとめ

ちなみに、何かCodeIgniterは、ライセンス問題があってCodeIgniterを離れたという人が多いそうなのですが、以下をみる限り全く問題ないです。納得できる内容だし。
 

  
それでは、また。

slackチームに参加下さい

ng-onsenui2.slack.com

OnsenUI2(Angular2)について知見を共有する場です。Angular2に限ってOnsenUI2を議論できる場がなかったのでつくりました。これから使い始めるという方はぜひご参加ください。
https://ng-onsenui2.herokuapp.com/

Ionic2.slack.com

日本語情報が少ないのでこちらで知見を共有できればと思います。お陰様で参加者100名を超えました。ありがとうございます。
https://ionic2-ja.herokuapp.com