ソフラボの技術ブログ

仕事で使ったプログラミング、サーバー周りで役に立つこと、Webサービス開発に必要な技術情報、モバイル情報を書いてます。わかりやすく見やすくをモットーにしています。

PHPフレームワーク「CodeIgniter」でサクサク開発!!

最近、隠れて話題のあるPHPフレームワーク「CodeIgniter」の紹介。

カンファレンスはキャンセル待ちになるほど大人気みたい。


現在Webサービス作成中で、CakePHPを使ってた。
「なんか使いにくい、規約が縛りすぎてうざい」と思っていて、ジュンク堂PHPコーナーを見ているとCodeIgniterというフレームワークを発見。
ざっくり読んでみるとシンプルな構成になっていたので触ってみようと思った。
ちょいとどんなもんかまとめた。


CodeIgniterって何?

PHPオープンソースフレームワーク
「コードイグナイタ」って読む。「CI」って略される。
とにかくシンプルで必要な機能しかなくとにかく軽い。サクサク開発できる。
「速い!軽い!簡単!」の3拍子揃ってる。
CodeIgniter - Wikipedia
最新:v2.0.0
安定板:v1.7.3


どこがいいの?

  • フレームワークの内部事情を知る必要がないのでロジック作成に集中できる
  • フレームワークの設定が必要最低限で少ない
  • ActiveRecordを使ったDBアクセスで直感的に操作可能
  • MVC間が疎結合で柔軟なコーディングが可能
  • ライブラリやヘルパーも疎結合なのでそれを組み合わせてのプログラミングがしやすい
  • フレームワーク自体がシンプルなので内部ロジックの確認も容易


ものたりないところは?

  • O/Rマッパーが付属してないので別のライブラリを使う必要がある
  • PHP4,5対応しているが、オブジェクト指向完全対応ではないのでそこの部分でコーディングに違和感がある
  • 必要最低限の機能しかないので少しベタ書きしないといけなくてめんどくさい部分もある
  • CakePHPのようななんでも自動、連携的なものはない


学習コストってどんなもん?

ドキュメントを見れば、一通り基本的なものはできる。
CakePHPに比べると覚えることが遥かに少なく浅いので学習コストが非常に低い。
CakePHPで作成に1ヶ月ほどかかっていたものが1週間足らずでできた。
マジでびっくりした。CakePHPってなんやってん。Cakeは覚えることが多すぎる。
感覚的に言うとWindowsからMacに乗り換えたくらいの衝撃。


ドキュメントはどうなん?

公式の日本語ドキュメントはある。
でもサンプルコードやライブラリの情報は英語がほとんど。
CodeIgniterへようこそ : CodeIgniter ユーザガイド 日本語版←v1.7.3
トップ :: 日本CodeIgniterユーザ会


本はないの?

今の所、日本語は以下の2冊。英語なら他にもある。
徹底入門は手に入りにくいらしく、見つけた時に買うことをおすすめする。
4798116769CodeIgniter徹底入門
河合 勝彦 鈴木 憲治 安藤 建一
翔泳社 2008-06-10

4798022772PHPフレームワーク入門―CakePHP/Zend Framework/symfony/CodeIgniter対応
掌田 津耶乃
秀和システム 2009-05


オブジェクト指向でバリバリやりたいねん!!

ちょっとおすすめできないかな〜。
PHP4基準みたいなのでそこまで求めるとなるとしんどいと思う。
それならCodeIgniter派生フレームワーク「kohana」をおすすめする。
Kohana: The Swift PHP Framework
こちらはPHP5完全対応の仕様になってる。
CodeIgniterの不足してる部分は強化されているらしい。
しかし、ドキュメント類がほとんど英語。


感想

普段JavaSeasar+SAStrutsを使ってるので、それを基準にフレームワークを探してる所がある。
それに近い感じのフレームワークがCodeIgniterかなと思う。
PHPは触って1ヶ月位しか経ってない。
PHPをあまり理解してないのにサクサクとコードが書けるCodeIgniterはものすごく使いやすいと感じた。
PHPの言語仕様からしてもここまでシンプルかつ扱いやすいフレームワークはないんではないかと思う。
全てのものが早くPHP5に移行してほしい!!関数は扱いにくいよ。


今後はセットアップ、簡単なサンプルなどを紹介していく予定です。
PHPフレームワーク「CodeIgniter」のセットアップ