CodeIgniter はじめてみた1
ずっと CakePHP ばっかり触ってきたけれど、小回りが利くと噂のフレームワークを使ってみようと思った。
業務上の案件はなかったので、今回は自分がかつて作ったサイトのリニューアルと言う形で行った。
ついでだし、デザイン方面もすでにこなれてきた bootstrap を使ってみよう。
開発環境
OS | Windows7 |
Apache のバージョン | 2.4 |
PHP のバージョン | 5.4.4 |
MySQL のバージョン | 5.0.10 |
CodeIgniter のバージョン | 2.2.0 |
bootstrap のバージョン | 3.2.0 |
エディタ | Eclipse Kepler |
開発用件
- DB へのアクセスは select のみ
- 利用するテーブル数は 4点
- Twitter と連携し、自分のツイートを取得して表示させる
- ページ数は 10点くらい
まず CodeIgniter とはどんなものか調べるところからはじめた。
が、軽くて良いよ!位の情報しか出てこない。
あとは出てきてもバージョン1のものか、派生した FuelPHP のほうの話題が多かった。
わかったことと言えば
まぁ、実際開発なんてトライアンドエラーでしょう!ってことで、とりあえず着手してみることに。
ハローワールドはおくだけで簡単にいけた。
本番ではフリーのレンタルサーバーを使っているので、業務みたいにアクセスできないようなところにフレームワークを置いておくみたいなことは出来ない。
なのでディレクトリ構成を少し変えた。
+frameworkdir | +application | +system +css +js +font +img index.php
frameworkdir と言うディレクトリを切って、その下にフレームワークのファイルを置くことにした。
もちろん .htaccess でアクセスできないように記述もするけれども、用心のため。
お次は mod_rewrite の設定だ。
あの URL に鎮座するダサイ /index.php/ を倒さねばならぬ。
mod_rewrite はサイトを構築するときにいつも邪魔をしてくれる悪魔だ。
mod_rewrite を有効化するには httpd.conf の 以下の部分の # を取り除いて再起動する必要がある。
#LoadModule rewrite_module modules/mod_rewrite.so
続いて .htaccess の記述。
公式を見ると以下のように書かれているが、これだと XAMPP 上でうまく動かない。
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
3行目の /index.php/ となっているところの前部分の / をとる必要がある。
さらに css や js を使うことを想定しているので RewriteCond のところも書き加える。
RewriteEngine on
RewriteCond $1 !^(index\.php|css|js|font|img|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]
他にも内部的なパスが変わると困るようなものがあれば、 RewriteCond のところに加えておく必要がある。
ここまででとりあえず基本の設定が完了した。
後はごりごり開発あるのみ。