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の設定
まずは「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と呼ばれる重要な仕組みがあったりとそれぞれの処理の流れがあるのでそれはまた、後日勉強した時に備忘録的に書きたいと思います。