備忘録のため,内容の正当性については責任を持ちません。

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 でアプリケーションを開発しはじめるまでの手順の一例を紹介する。

  1. ファイル一式をダウンロードしてきて設置する
  2. 一部ディレクトリのパーミッションを適切に設定する
  3. (任意) CI_Controller を継承して,application/core/ に MY_Controller を作成する
  4. application/config/database.php でデータベース接続情報を設定する
  5. とりあえず設置したディレクトリの index.php にブラウザでアクセスすると,application/controllers/welcome.php の index() メソッドが実行される。
  6. application/models/ 内に Model を作成する。
  7. application/views/ 内に View を作成する。
  8. application/controllers/ 内に Controller を作成する。

コメント

コメントする




CAPTCHA