1.アプリケーションのセットアップ

このページでの目標

  1. envi コマンドを使って、アプリケーションの雛形を作成する
  2. ブラウザからアクセスして、ひな形のページが表示できるようにする

チュートリアルで作成するアプリケーション

チュートリアルに入る前に、どのようなアプリケーションを作成するかを決めておきます。

今回は、「コメントを入力して一欄に表示する」という簡単な掲示板を作成することにします。

  • Envi PHP を用いてアプリケーションを作成する流れ
  • データベースへの接続や、URLの設定方法

を理解しましょう。

アプリケーション情報の決定

アプリケーションを構築する前に、少なくとも以下の 2 点を決定しておく必要があります。

  1. アプリケーションキー(英字のみ)
    • 例: bbs
  2. アプリケーション配置ディレクトリ (どこでも構いません)
    • 例: /var/www/ とか C:\codes\php\ など。
    • このチュートリアルでは、 /var/www/envi/ を用います。

Enviのインストールとアプリケーションの雛形の生成

Envi PHPをインストールし、enviコマンドを利用できるようにしてから、 envi コマンドを利用してアプリケーションを使って生成します。

アプリケーションキーが bbs 、アプリケーション配置ディレクトリが /var/www/envi/ とした場合の例を以下に示します。

Envi PHP でアプリケーションを作成するには、まず プロジェクト を作成します。

次のように init-project コマンドを使ってアプリケーションの雛形を自動的に生成することができます。

envi init-project コマンドを利用して、Envi PHPのプロジェクトファイルを作成します。

$ mkdir /var/www/envi/
$ cd /var/www/envi/
$ envi init-project

簡単インストールを使用しない場合は、/var/www/envi/へ、手動インストールする必要があります。 また、手動インストール時には、enviコマンドはインストールされないため、代わりに、/var/www/envi/enviコマンドを使用します。 このmanualの例では、すべてenviコマンドとして記載しますので、適宜読み替えてください。

envi init-appコマンドを利用するとアプリケーションキーに指定した名前でディレクトリが自動的に作成されます。:

$ envi init-app bbs
$ envi init-module bbs index
$ envi init-action bbs index index

以上で、最小構成のアプリケーションが生成されます。

ディレクトリ構成の確認

生成されたディレクトリをのぞいてみましょう。次のような構成となっています。(一部抜粋)

    ├ apps                 (プロジェクト内のアプリケーションのディレクトリ)
    │└ bbs                (アプリケーションのディレクトリ)
    │  ├ libs             (ライブラリのディレクトリ)
    │  │ ├ common        (アプリケーション共通でオートロードされるディレクトリ)
    │  │ ├ constant      (アプリケーション共通で常にロードされるディレクトリ)
    │  │ ├ controller    (controllerのベースが入っているディレクトリ)
    │  │ └ models        (OrMap風のモデルが入ったディレクトリ)
    │  └ modules          (モジュールのディレクトリ)
    │    └ index          (indexモジュールのディレクトリ)
    │      ├ actions      (アクションスクリプト)
    │      ├ libs         (モジュール固有の処理)
    │      ├ views        (ビュースクリプト)
    │      └ templates    (テンプレート)
    ├ cache                (キャッシュ)
    ├ config               (設定ファイル)
    ├ logs                 (ログ)
    ├ tests                (テスト)
    └ web                  (ドキュメントルート)

よく使うのは下記のディレクトリです。

    │  ├ libs             (ライブラリのディレクトリ)
    │  │ ├ common        (アプリケーション共通でオートロードされるディレクトリ)
    │  │ ├ constant      (アプリケーション共通で常にロードされるディレクトリ)
    │  │ └ models        (OrMap風のモデルが入ったディレクトリ)
    │  └ modules          (モジュールのディレクトリ)
    │    └ index          (indexモジュールのディレクトリ)
    │      ├ actions      (アクションスクリプト)
    │      ├ libs         (モジュール固有の処理)
    │      ├ views        (ビュースクリプト)
    │      └ templates    (テンプレート)

生成したアプリケーションにアクセスするには、 web ディレクトリを、 ウェブサーバを通じてアクセス可能にするか、シンボリックリンクを作成します。

今回は、 Apache の VirtualHost を設定し、 http://bbs.example.jp でアクセスできるようにしてみましょう。

  • VirtualHost の設定の例
<VirtualHost *:80>
    ServerName bbs.example.jp
    DocumentRoot /var/www/envi/web
</VirtualHost>

以上で設定は完了です。さっそくブラウザでアクセスしてみましょう。

http://bbs.example.jp/

正しく設定ができていれば、エラーメッセージが表示されることなく、ただの白い画面が表示されます。

さて、実際のアプリケーションの実装に入る前に、 envi コマンドを用いてアクション・ビュー・テンプレートを作成し、 処理の流れを追ってみましょう。

2. アクション、ビュー、テンプレートの作成と処理の流れ