2章 インストール

必要条件

Simplate は、PHP 4.3 以降が動作しているウェブサーバを必要とします。ただし、PHP5 を推奨します (現在は、PHP4 系の開発環境を用意していません)。php extension がコンパイルできるツールが存在する必要があります (ソースから PHP をコンパイルしている場合、多分既に環境が整っています)。

インストール

Simplate は php extension です。以下の手順でコンパイル & インストールすることができます。

  1. Simplate のファイル取得
  2. ファイルの展開
  3. phpize により、コンパイルの前準備
  4. コンパイル
  5. インストール (場合によっては、root 権限が必要です)
  6. php.ini ファイルに extension="simplate.so" を追加する。
  7. Apache などの Web サーバを再起動する。

上記の手順は、次のようなコマンドによって実行します。

  1. $ wget 'http://sourceforge.jp/frs/redir.php?m=iij&f=%2Fsimplate%2F43613%2Fsimplate-X.Y.Z.tar.gz'
  2. $ tar zxvf simplate-X.Y.Z.tar.gz
  3. $ cd simplate-X.Y.Z
  4. $ phpize
  5. $ ./configure --enable-simplate
  6. $ make ( or gmake)
  7. $ sudo make (or gmake) install

動作確認

次のようなコマンドを実行して、enabled が返ってきていれば、インストールに成功しています。

  1. $ php -i | grep -i 'simplate' -A 1
  2. simplate
  3. simplate support => enabled
  4. Version => X.Y.Z

ブラウザからのリクエストで phpinfo() を実行し、enabled が存在しない場合は Web サーバを再起動したか確認してください。

環境構築

今度はあなたのアプリケーション内に Simplate 用のディレクトリをセットアップしましょう。

  • Simplate は、デフォルトで template/、template_c/ と名付けられた 2 つのディレクトリが必要です。
  • これらの名前は、それぞれ Simplate クラスのプロパティ $template_dir$compile_dir で定義することができます。
  • Simplate を使用する各アプリケーションにおいて、これらのディレクトリを個別に設置することを強く推奨します。

インストール例として、ゲストブックアプリケーションの Simplate 環境をセットアップしてみます。 私たちはディレクトリの命名規則の目的についてのみ取り上げました。 例のアプリケーション名を guestbook/ からあなたのアプリケーション名に置き換えれば、同様の環境を使用できます。

例. ファイル構造
  1. /web/www.example.com/
  2. guestbook/
  3. template/
  4. index.tpl
  5. template_c/
  6. htdocs/
  7. index.php

あなたは Web サーバのドキュメントルートの位置を知っている必要があります。 例ではドキュメントルートは /web/www.example.com/guestbook/htdocs/ とします

ドキュメントルート下には最低1つのファイルが必要であり、それは Web ブラウザによってアクセスされるスクリプトです。 この例ではドキュメントルート /htdocs/ の下にサブディレクトリを作成し、その中に index.php を配置します。

Smarty は $compile_dir (template_c/) に 書き込み権限 でアクセスする必要があるので、 Web サーバのユーザがこれらに書き込める必要があります。

注意: Apache を使用しているなら、httpd.conf ファイルを見ればユーザ名とグループ名がわかります。
例. パーミッションおよびディレクトリへの書き込み権限の付与
  1. chown apache:apache /web/www.example.com/guestbook/templates_c/
  2. chmod 770 /web/www.example.com/guestbook/templates_c/
注意: chmod 770 は強固なセキュリティです。 これは、ユーザ "apache" とグループ "apache" のみにディレクトリのリード/ライトアクセスを許可します。もし誰にでもリードアクセスを可能にしたい場合 (大抵はあなた自身がファイルを見るための利便性から) は、代わりに 775 を使う事が出来ます。

次に、Simplate が表示するファイル index.tpl を作成する必要があります。これは、$template_dir の中に配置しなければなりません。

例. /web/www.example.com/guestbook/templates/index.tpl
  1. <{* Simplate *}>
  2. こんにちは、<{$name}>。ようこそ Simplate へ!
テクニカルノート: <{* Simplate *}> はテンプレートの コメント です。これは必須ではありませんが、全てのテンプレートファイルのはじめにコメントを書くのは良い習慣です。これは、ファイルの拡張子に関わらずファイルを認識する事を簡単にします。例えば、テキストエディタはファイルを認識して特有のシンタックスハイライトを有効にするでしょう。

では、index.php を編集しましょう。Simplate のインスタンスを作成し、テンプレート変数を割り当て (assign())、index.tpl ファイルを表示 (display()) します。

例. /web/www.example.com/docs/guestbook/index.php の編集
  1. <?php
  2. if (!extension_loaded('simplate')) { dl('simplate.so'); }
  3. $simplate =& new simplate();
  4. $simplate->template_dir = '/web/www.example.com/guestbook/templates/';
  5. $simplate->compile_dir = '/web/www.example.com/guestbook/templates_c/';
  6. $simplate->assign('name','You');
  7. $simplate->display('index.tpl');
  8. ?>

では、Web ブラウザから index.php ファイルを読み込んでみましょう。 "こんにちは、You。ようこそ Simplate へ!" と表示されるはずです。

これで Simplate のセットアップは完了しました!