CodeIgniterを約半年使ってみた感想など
@sakaki さんにハッパをかけられたので、約束通りCodeIgniter
について書く!
@sakakiさんのブログ記事にも自分の拙い投稿を取り上げていただいた(その記事はこちら)ので、
ちゃんと約束は果たさんとね(*^^)v
※タイトルの「約」の文字は半年過ぎたら消しますww
CodeIgniterの良さ
以前にも書いたが、このフレームワークの良さは、こんな感じ。
- 学習コストが低い
- 軽量
- 高速
- 拡張性が高い
- MVC分離性
- インストールが簡単
- 日本語の記事が豊富
- マニュアルの日本語訳も進んでいる
いろいろあるけど、やっぱり一番は学習コストの低さ!ヘボプログラマーの自分でも、マニュアルをザーッと読んだだけで、 すぐに開発を始められるくらいお手軽でわかりやすい。マニュアルもわかりやすい。初めて何かフレームワークに触れてみようか、という人には是非オススメしたい♪ ちなみに私の勤務している会社では、新人研修のカリキュラムに入ってる。
敷居は凄く低いのに、有名なフレームワークだけあって、ちゃんと作りこまれていて機能も豊富。コアクラスの拡張もしやすい。また、
Ajax
やバッチ
もとても書きやすい。
インストールは、composerを使ってコマンド一発で入るけん、凄く簡単なのも嬉しい(^^)
後は、個人的にこのフレームワーク独自のActive Record
は気に入ってる(*・ω・)
なんとなくEC-CUBE(2系)
に似ているから、というのもあるが、個人的にはすごく書きやすい。
model
との連携が非常に簡単なのも助かる(=゚ω゚)ノ あまり他のフレームワークを触った事がないけん同じかもしれんが、クラス作るときにコアクラスを継承していれば、コンストラクタでインスタンス作れば別のmodel
が簡単に呼び出せて使える。これは便利!
CodeIgniterの欠点(というか個人的にマイナスなところ)
これもまず列挙すると、
- テスト周りが貧弱
migration
が少々書きにくい- デフォルトだとパスに
index.php
が含まれる - 人によっては煩雑なコードになる
こんなところ。とにかくテストコードがイケてない。最初から備わっているテストを使ってみたが、まぁ使いづらいし何よりイケてない。。。 せっかくの素晴らしいフレームワークなのに、これはいただけない。これ改善してほしいわ(´・ω・`)
migration
はちょっと分かりにくかった。CodeIgniter 徹底ガイド !というサイトには大変お世話になって書けたが、
もう少しなんとかなったんじゃないかなぁ。慣れればこれはこれで良いとは思えるが、初心者には優しくないかと。
後はパスにindex.php
が入る問題。これなんでこう言う作りにしたんか、設計思想が知りたいところ。
まぁ、.htaccess
やapache
の設定で消すことはできるけん、そんな問題じゃないが。
他のフレームワークについて
…と書いたが、自分が触れたことがあるフレームワークは、
だけじゃけ、比較というほどでもないが(笑)
ECのOSSではおそらく知名度はNo.1であろうEC-CUBE
。これはいわゆるオレオレフレームワークで、もともとECサイト用のパッケージだけん、
厳密にはフレームワークではないが、ほぼそう言っても差し支えないので入れた。
日本では一時期CakePHP
がすごく流行っとって、自分も触れてみようと思ったんだが、その当時は自分がPHPそのものを勉強中だったけん、
結局使わずじまい。ただ、仕事で物流システムに触れる機会があり、そのシステムがCakePHP
で書かれておりちょっとだけコードを見たのだが、
分かり辛かった印象がある。(書いた人のコードが読み辛かっただけかもしれんが)いかにも納期に追われてて、とにかく動けば良い、
という感じで作られてた。要は、あんまり良い印象がない!(笑)
次にYii
だが、これは重い。すごく制約が厳しく、フレームワークの仕様にそって書かないといけないため、仕様を理解するのに非常に時間がかかった。
また、DBとの接続が増えると、速度が極端に下がる。さらに言うと、ちょっと複雑なクエリだとこのフレームワークの仕様では書けなかった事がままあった。
だけん、欲しいデータを個別にとって、PHPで頑張ってデータを一つの配列にマージしてた。ただ、migration
周りは非常に良くできていて使いやすかった。
そこくらいしか、このフレームワークが良いとは思えなかったな。
そしてFuelPHP
。CodeIgniter
の開発者の方の数人もこのフレームワークの開発に携わっており、それの影響か、やっぱり火に関わる名前がちょこちょこある。
(名前も日本語訳では燃料だし、oil
コマンドとかもある)まだ触り始めたばぁじゃけ、良くわからんが、結構CodeIgniter
に似ている印象。
最後に
まぁECサイトを作るとしても、webアプリ作るとしても、CodeIgniter
が良いよと。みんなもっとCodeIgniter
を使おうぜと。
とにかくこのフレームワークを宣伝したかったので、今回は満足!ほなー。