dev.kokushin

HTML5、CSS3、JavaScriptを中心に、日々のプログラミングで得た知識をメモしています。

初心者が「Codeigniter」でWebアプリケーションを作ってみる #1

サーバーサイド初心者がPHPのフレームワーク「Codeigniter」を使ってWebアプリケーションを作るまでの流れと苦労の記録をここに記す。

※必要最低限の情報しか載せてません。

つくるもの

CodeIgniterを使ってTwitterっぽいマイクロブログサービスを作る

今回の目標

CodeIgniterの導入、初期設定まで

開発環境とか

・Mac OSX 10.11 ・CodeIgniter 2.2.6 ・MAMP 3.2.1 (PHP 5.6.7) ・Sublime Text + Codeigniter Snipets ・Bitbucket (Git) ・SourceTree

CodeIgniterのインストール

公式サイトからダウンロード。 3.x.x系と2.x.x系があるが今回は基礎を学ぼうということで2.x.x系を選んだ。 なのでこのシリーズは2.x.x系で進めていく。

ダウンロードしたら解凍して作業用のディレクトリに全部突っ込む。 最低限必要なのは「application」、「system」、「index.php」の3つ。

準備ができたらSublime Textで「application」ディレクトリを開いておく。

MAMPの設定

設定画面の「Web サーバ」→ドキュメントルートをCodeIgniterの「index.php」があるディレクトリに設定する。 ちなみに有料版はドキュメントルートを複数管理できるらしい。

http://localhost/

にアクセスしてWelcomeページが表示されればOK。

ci02

こんな感じ。

config.phpを編集する

application/config/config.phpを開き、

$config['base_url'] = 'http://localhost/';

に変更しておく。 また、本番環境にアップする際はここのURLを変更することを忘れずに。

さらにその下の項目も、

$config['index_page'] = '';

といった具合に変更しておく。 これは後述する。

URL内にindex.phpを含めないようにする

CodeIgniterは初期設定だとURL内にindex.phpを含めなければ動作しないらしい。

// 例
http://localhost/index.php/post

これでは見栄えが悪いので、.htaccessを「application」があるディレクトリに作成し

RewriteEngine on
RewriteCond $1 !^(index\.php|img|css|js|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

と記述しておく。 これでURL内にindex.phpを入力しなくともページ遷移することができる。 (/index.php/の部分は必要に応じて編集する)

次回の目標

記事を投稿するコントローラとビューを作成し、バリデーション機能を実装する