Mach3.laBlog

はじめてのKohana (1) Hello World !

この記事は賞味期限切れです。(更新から1年が経過しています)

KohanaはPHPのMVCフレームワークです。 日本語情報が乏しいせいか、まだあまり国内では使われていない印象ですが、 ここに導入のメモを記してみます。全七回。

はじめてのKohana

はじめに

本連載は、私がKohanaに興味をもって導入し、色々試してみた記録をまとめたものなので、 あまり体系的に紹介できていない部分があるかもしれませんが、ご了承ください。 また、導入時に書いた物なので、そこまで突っ込んだ内容はありません。

Kohanaの日本語情報は日本ユーザ会による翻訳ドキュメントぐらいしか無く(内容は1バージョン前だったりします)、 公式(英語)もそこまできちんと整備されているわけではなく、まだ歯抜けも見られるのが現状です。 そんな中で、少しでも情報を補足・共有出来れば良いなと思い、筆をとった次第です。

執筆当時の最新版(バージョン3.2)を基にして書かれています。

対象読者は以下を想定しております。

  • PHPを書いたことがある
  • MVCフレームワークを知っている・使ったことがある
  • Kohanaに興味がある

Kohanaについて

KohanaはCodeIgniterからのフォークとして生まれた、PHPのWebアプリケーションフレームワークです。 (執筆時にWikipediaを見るまでは、CIのフォークだとは存じませんでしたが…)

Kohanaは、モデル・ビュー・コントローラ アキーテクチャパターンを使ったPHP5のフレームワークである。Kohanaは、セキュアで、軽量、かつ、簡単に利用できるということを目標としている。

cf) プロジェクトの派生・分岐 | CodeIgniter – Wikipedia

インストール

まずは導入から。 Kohanaの公式サイトから、最新版をダウンロードし、任意の場所に解凍します。

完了したら、インストールした場所にhttpdを通してアクセスしてみましょう。すると、

Environment Test

とやらが表示されます。 これは、使用しているサーバがKohanaを走らせる条件を満たしているかどうかをチェックしてくれるスクリプトです。 無事全ての項目がテストをパスすると、

Your environment passed all requirements.

と下に表示されるので、指示通り install.php をリネームまたは削除します。

初期設定

「Hello World !」を表示させる前に、幾つかの設定をこなす必要があります。

ディレクトリのアクセス権を設定

以下の2つのディレクトリに書き込み権限を付与します。

  • application/cache
  • application/logs

ベースURLを設定する

基本的なアプリケーションの設定は、application/bootstrap.phpで行います。 ここでは、Webアプリケーションの起点となるベースURLを設定します。 だいたい82行目あたりです。

Kohana::init(array(
    'base_url'   => '/',
));

ルートディレクトリに設置している場合はそのままでよいですが、 例えば http://www.example.com/myapp/ のようにサブディレクトリに設置した場合はここの値を弄る必要があります。

Kohana::init(array(
    'base_url'   => '/myapp/', // 環境にあわせて書き換え
));

.htaccessの設定

mod_rewriteを使用する為の設定を.htaccessに記述しておきます。 といっても雛形が既に用意されているので、基本的にはそれをリネームすればOKです。

$ mv example.htaccess .htaccess

前項でベースURLの変更をした場合は、RewriteBaseの値も書き換えるのを忘れずに。

RewriteBase /myapp/ # 環境によって書き換え

Hello World !

以上の設定をこなして、あらためてルートディレクトリにアクセスすると、

hello, world !

が出力される、はずです。お疲れ様でした!

cf) Installation | Kohana User Guide

まとめ

KohanaのインストールからHello world !までをご紹介しました。 次回は、コントローラとビューの簡単な使い方について。


» もくじ

  1. Hello World !
  2. コントローラとビューの基本
  3. コントローラ
  4. ルーティング
  5. ビュー
  6. モデルとデータベース
  7. バリデーション

コメント

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*