Codelgniter

手元にあるPHPの教材でCodelgniterを使ってのサンプルがあったのでインストールしてみました。

Codelgniterとは

アメリカのElisLab社によって開発されているフレームワーク。特徴としては軽量で高速、シンプルな機能構成・設定ファイル、コマンドラインが不要でコーティング規約が緩いなど使いやすさと速さを追及しています。公式ドキュメントの日本語訳も配布されています。

Codelgniterインストール

最新バージョンは「ci-ja-all-in-one-2.0.3-1.zip」ですがうまくテストページが表示できなかったので、「ci-ja-all-in-one-1.7.2-2.zip」をインストールしました。
こちらにアクセスし日本CodeIgniterユーザ会パッケージをダウンロード。

systemフォルダの移動

セキュリティーを高めるために「systemフォルダ」と「applicationフォルダ」をドキュメントルート外に移動しました。CodelgniterではブラウザからアクセスされるPHPファイルはindex.phpだけなので必要のないファイルを公開領域に置いたままにすることは、セキュリティ上好ましくないようです。
それに伴って、index.phpに記述された「systemフォルダ」のパスを変更します。index.phpをエディタで開き26行目付近を以下のように変更。(今回は、3階層上に移動しました)

$system_folder = 'system';

   ↓

$system_folder = '../../../system';

Codelgniterの動作確認

ローカルのURIを入力して画面確認


Codelgniterの設定

まずは「application\config」の中にあるconfig.phpを設定しました。

2行目に文字コード指定を追加

<?php 
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

   ↓

<?php  
/* <meta content="charset=UTF-8"> */
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

14行目付近(サイトのURIを設定)

$config['base_url'] = "http://example.com/";

   ↓

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

69行目付近

$config['language'] = "english";

   ↓

$config['language'] = "japanese";

設定したら保存して終了。

HELLO WORLD!

定番のHELLO WORLD!を出力してみた。

Hello Worldサンプルプログラム(hello.php)
<?php
  class Hello extends Controller {
    function index() {
      echo 'Hello World';
    }
  }
?>

URIを入力して確認。ちゃんと実行されました。

そしてCodelgniterにはコントローラーと呼ばれる機能があるのでCodelgniterのURIはコントローラーの定義で決まります。URIにメソッド・引数を指定してあげなければいけません。またViewやModelと呼ばれる重要な仕組みがあったりとそれぞれの処理の流れがあるのでそれはまた、後日勉強した時に備忘録的に書きたいと思います。