MVC の考え方がわかっていることが前提で,この記事を読めばとりあえず CodeIgniter 2.0 が使い始められるような記事を目指して書いていく。
CodeIgniter のディレクトリ構成
CodeIgniter のディレクトリ構成は以下のようになっている。 作成するアプリケーションは application ディレクトリ内に作っていき,通常は system ディレクトリ配下のファイルはいじらない。
CI-JA-ALL-IN-ONE-2.0.1-1 │ copyright.txt │ index.php .................... ブラウザから直接アクセスされるフロントコントローラ │ license.txt │ README-all-in-one.ja.txt │ ├─application .................. アプリケーションを作成していくディレクトリ │ │ │ ├─cache │ │ │ ├─config ................... 設定ファイル用ディレクトリ │ │ autoload.php ......... リソースの自動読込設定ファイル │ │ config.php ........... デフォルトの設定ファイル │ │ constants.php │ │ database.php ......... 【重要】データベース接続情報の設定ファイル │ │ doctypes.php │ │ foreign_chars.php │ │ hooks.php │ │ mimes.php │ │ profiler.php │ │ routes.php ........... URI ルーティング設定ファイル │ │ smileys.php │ │ user_agents.php │ │ │ ├─controllers .............. 【重要】Controller 用ディレクトリ │ │ welcome.php .......... デフォルトコントローラ (routes.php で変更可) │ │ │ ├─core ..................... 【重要】コアシステムクラス用ディレクトリ (自前のコントローラ基底クラスを作成するときなど) │ │ │ ├─errors ................... エラーメッセージの HTML ファイル用ディレクトリ │ │ error_404.php │ │ error_db.php │ │ error_general.php │ │ error_php.php │ │ │ ├─helpers .................. 自作のヘルパ関数用ディレクトリ │ │ │ ├─hooks │ │ │ ├─language │ │ └─english │ │ │ ├─libraries ................ ユーザライブラリ作成用ディレクトリ │ │ │ ├─logs .................... ログファイル生成用ディレクトリ │ │ │ ├─migrations │ │ 001_Create_accounts.php │ │ │ ├─models ................... 【重要】Model 用ディレクトリ │ │ │ ├─third_party │ │ │ └─views .................... 【重要】View 用ディレクトリ │ ├─system ....................... CodeIgniter のシステムファイル用ディレクトリ ├─user_guide ................... ユーザガイド (英語) 用ディレクトリ └─user_guide_ja ................ ユーザガイド (日本語) 用ディレクト
CodeIgniter の URL
CodeIgniter の URL は以下の構成となる。
http://example.jp/directory/index.php/class/function/arg1/arg2/...
“class” は Controller のクラス名,“function” はそのクラス内のメソッド名である。“arg1”, “arg2”… はコントローラに渡す引数で,例えば hogehoge というメソッドなら
function hogehoge($arg1, $arg2) {
...
}
のようにして受け取れる。引数やメソッド名,クラス名は右から順に省略することができ,function を省略した場合は index() メソッドが,class を省略した場合は Welcome クラスがデフォルトで呼び出される。
なお,“index.php/” の部分は URL から除去することが可能である。
便利な Class
便利なコアシステムクラス (標準で用意されているクラス) を紹介する。
- 入力クラス
- POST 値などを取得する
- フォーム・バリデーション
- 利用者がフォームから送信した値を検査する
- ページネーションクラス
- 前のページ,次のページ… のようなリンクを生成する
- セッションクラス
- セッションを生成する
例えば,“hoge” という POST 値を取得するには,次のようにすれば良い。
$hoge = $this->input->post('hoge');
便利なヘルパ関数
よく使うヘルパ関数を紹介する。
- base_url (URL ヘルパ)
- CodeIgniter の index.php/ までの URL を返す
- redirect (URL ヘルパ)
- 指定した URI にリダイレクトする
使いはじめるまでの手順
CodeIgniter でアプリケーションを開発しはじめるまでの手順の一例を紹介する。
- ファイル一式をダウンロードしてきて設置する
- 一部ディレクトリのパーミッションを適切に設定する
- (任意) CI_Controller を継承して,application/core/ に MY_Controller を作成する
- application/config/database.php でデータベース接続情報を設定する
- とりあえず設置したディレクトリの index.php にブラウザでアクセスすると,application/controllers/welcome.php の index() メソッドが実行される。
- application/models/ 内に Model を作成する。
- application/views/ 内に View を作成する。
- application/controllers/ 内に Controller を作成する。
コメント
[…] http://codeigniter.jp/user_guide_ja/toc.html https://onair.jp/archives/1665.html […]