初心者が「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。
こんな感じ。
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/
の部分は必要に応じて編集する)
次回の目標
記事を投稿するコントローラとビューを作成し、バリデーション機能を実装する