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 のところに加えておく必要がある。

ここまででとりあえず基本の設定が完了した。

後はごりごり開発あるのみ。