CodeIgniterの歴史

こんにちわ! NEKOGETです。
この記事はCodeIgniterアドベントカレンダーのために書きました!
https://qiita.com/advent-calendar/2017/code_igniter

この記事の前の記事は
CodeIgniterのどんな話をしようかな?の巻 です
このままだと毎日NEKOGET !!!!
25日までガラガラなんで、誰か記事頼むよ。本当お願い。

さて、歴史の話!
今、CodeIgniterはバージョン3!!!
ってことは1の時代も2の時代もあるんですね!
そして4への未来へと続く☆

みたいな話をすっごい主観的に書くよ!
ほぼNEKOGETとCodeIgniterとの仲良し記録になる予定なので軽い気持ちで読んでね☆

CodeIgniter1の時代

CodeIgniter誕生
この時代のことをNEKOGETは知りません。
出会ったのは彼が1.5か1.6の頃だからね
ユーザーガイドに書かれている誕生の時

Version Beta 1.0 Release Date: February 28, 2006

1.0はベータ版だったんだね。

Version 1.2 Release Date: March 21, 2006
ベータじゃ無くなったのは1.2 正式リリースって意味では2006年3月21日がお誕生日
おめでとう! CodeIgniter!!!
PHPのバージョンは幾つの頃だったんだろう?

http://pastport.jp/user/yandod/timeline/php-history
PHP年表によると2006年春はPHP5.1.xが最新だったみたい。namespaceもまだだし、配列もarray()の時代だね。

Version 1.5.1 Release Date: November 23, 2006

私と出会ったCodeigniterさんは1.5だったと思うんだよね。1.5.x ← ここの数字は覚えてなんだけども。
当時の私はまだDreamWeaverでPHPを書いていてね、スニペットを自分のために、登録して使えるようにしてた記憶があるよ。
まだCodeIgniter徹底入門は出てなかったと思う。
今Amazonを見て見たら 出版社: 翔泳社 (2008/6/10) って書いてあった。
知り合ってから10年以上になるんだなぁと思うと感慨深いね。
当時Codeigniterを開発していたElis.LabのホームページのHTMLがそれは美しくてね….
当時まだbootstrapもない時代で、xhtmlのmarkupがどうあるべきかみたいな話題が溢れてた時代。
htmlの構造もmarkupもclassのつけ方もそれは美しくてね、感動したのを覚えてるよ。
見た目は良くてもぐっちゃぐちゃなhtmlを吐き出さない会社の作ったPHPのフレームワークなら使って見たいと思ったんだ。
使えるようになりたいともね。(あの頃の美しかったhtmlは、もう今となっては思い出の中にしかないんだけども)

当時のCodeigniterは結構まだバグもあったのだけども当時から、application層でclassが上書きできる仕組みにはすでになっていて自分で直したものをそこで試せたし、本家に報告をして直してもらうまでの間application層で対応したものを設置して実装できたんで本体に手を入れてみたいなことをせずに修正できたんだよね。これは3になってもその仕組みは残っていてすごく便利だったんだ。
Model周りとか他のフレームワークのライブラリを使う方法とかそういう情報が結構出てたように思うよ。

CodeIgniter2の時代

すごく長かったように思うなぁ2の時代
1から2へのバージョンアップは、form_valodation classの名前が変わったのだけがちょっとめんどくさかったけどあとはそれほど難しくなかったように記憶してるよ。

https://www.codeigniter.com/user_guide/installation/upgrade_200.html?highlight=upgrade

これは、1.7から2.0へのアップグレード方法が書かれているユーザガイドのURL
完全に忘れてたんだけど、そうそう、pluginのディレクトリが無くなったのよね。

CodeIgniter2から3の時代(ライセンス問題勃発)

CodeIgniterといえばライセンス問題と言われた(?)ほどに不遇の時代。
CodeIgniterライセンスから

CodeIgniter3のライセンス問題に対する意見書公開

というのを、弁護士の先生にお願いをして、公開したのはすごく懐かしい思い出。決して安くななかったけど個人でこれをやれたのは勢いがあったんだなぁ私ってつくづく思うよ。
結局バージョン3になり、開発がElis.Labからブリティッシュコロンビア工科大学になりあれほどもめたライセンス問題はさらっとMITライセンスになったのでした。
本当にあの騒動はなんだったんだろうね。もうとっくに3を出してもよかったんじゃないのって時期から1年も待たされたんだよね。でも結果すごく良い状態の3に出会えたのはよかったことなのかなとも思うのよね。

元々CodeIgniterは元々ExpressionEngine CMSっていうCMSを開発するためにあったのね。で、もっと小さな規模での企業サイトを作る用のCMSがCodeIgniterで作られていてElis.Labで売られてたのね。
それらを買ってみたりしてコードを読んで勉強したのはすごく良い思い出。
seezoo っていうcmsもあった。これもまたすごく素晴らしかったんだ。

CodeIgniter3の時代

3は現行最新バージョンだね。

Version 3.0.0 Release Date: March 30, 2015
Version 3.1.6 Release Date: Sep 25, 2017

3がリリースされたのが2015年
最新版が出てるのが今年の9月
まだ本家だと2のユーザーガイドも見れる状態だけども、そろそろみんな3にバージョンアップしてほしいな。
したよね?
魔改造しちゃったCodeIgniterもうまいことApplication層へ改変コードを移動して3へのバージョンアップに挑戦してほしい。
CodeIgniter3はPHP7.2のテストも実行されてるし、passされてるよ。 怖くないよ!!!

3の続き話は後でにしようか。ちょっと長くなりそうだしね。

そして未来のCodeIgniter4

これも、4の話はボリュームかなり大きいから後から改めて話をしようと思うよ。

そんなこんなで3日目の記事を書きました。

次の記事は@rhapさんの 【CodeIgniter】プロファイラを外部ファイル出力できるようにする です!
お楽しみに☆

追記:
いやぁ、すんごい嬉しい!!!! もっともっとCodeIgniterの話をしてくれる人がいっぱい現れるといいのに!いいのに!!!
書きたくなっちゃったなーって方は是非、 CodeIgniterアドベントカレンダー に登録してくれると嬉しいなぁ。めちゃくちゃ嬉しいなぁ☆
https://qiita.com/advent-calendar/2017/code_igniter