Smarty マニュアル

前のページ

第 2章インストール

次のページ

基本的なインストール

ディストリビューションの/libs/ディレクトリにSmartyライブラリファイルをインストールして下さい。 これらのphpファイルは編集すべきではありません。ライブラリファイルは全てのwebアプリケーション間で共有され、 Smartyの新しいバージョンにアップグレードする際はこれらをアップデートするのみです。

例 2-1. Smartyライブラリファイル

Smarty.class.phpSmarty_Compiler.class.phpConfig_File.class.phpdebug.tpl/internals/*.php (これら全て)/plugins/*.php (これら全て)

Smartyはライブラリファイルがインストールされたディレクトリパスを表す SMARTY_DIRという名のphp定数を持っています。基本的に、 あなたのアプリケーションがSmarty.class.phpファイルを見つける事が出来るなら SMARTY_DIRを定義する必要はありません。Smartyは自分でそれを考えます。したがって、もし Smarty.class.phpがinclude_pathにないか、あなたのアプリケーションにて それらへの絶対パスが指定されていないなら、手動でSMARTY_DIRを定義する必要があります。SMARTY_DIRは おわりにスラッシュを含む必要があります。

次の例は、あなたのphpスクリプト内でどのようにSmartyのインスタンスを作成するかについてです:

例 2-2. Smartyのインスタンスを作成する

<?php
require('Smarty.class.php');
$smarty = new Smarty;
?>

次のスクリプトを実行してみて下さい。Smarty.class.php ファイルが見つからなかった というエラーが出た場合は、以下のいずれかを行う必要があります。

例 2-3. ライブラリファイルの絶対パスを指定する

<?php
require('/usr/local/lib/php/Smarty/Smarty.class.php');
$smarty = new Smarty;
?>

例 2-4. phpのinclude_pathにライブラリディレクトリを追加する

<?php
// php.iniを編集し、include_pathにSmartyのライブラリディレクトリを追加して
// webサーバをリスタートしたなら、以下を行ってください。
require('Smarty.class.php');
$smarty = new Smarty;
?>

例 2-5. 手動でSMARTY_DIR定数を定義する

<?php
define('SMARTY_DIR', '/usr/local/lib/php/Smarty/');
require(SMARTY_DIR . 'Smarty.class.php');
$smarty = new Smarty;
?>

これでライブラリファイルは正常に設置できたので、今度はあなたのアプリケーションのためにSmartyのディレクトリを セットアップしましょう。Smartyはtempalates,templates_c, configs, cacheと(デフォルトでは)名付けられた4つのディレクトリが 必要です。それらはSmartyクラスのプロパティ$template_dir, $compile_dir, $config_dir, $cache_dir によって各々定義する事ができます。 Smartyを使用する各アプリケーションのこれらのディレクトリは、アプリケーション毎に区別してセットアップする事が高く推奨されます。

あなたはwebサーバのドキュメントルートの位置を知っている必要があります。例ではドキュメントルートは /web/www.mydomain.com/docs/です。SmartyディレクトリはSmartyライブラリによってのみアクセスされ、webブラウザから 直接アクセスされる事はありません。したがってセキュリティの心配を避けるためにドキュメントルート外に これらのディレクトリを配置する事が推奨されます。

インストール例としてゲストブックアプリケーションのSmarty環境をセットアップしています。 私達は命名規約のディレクトリの目的についてのみ取り上げました。あなたはアプリケーションの名前を"ゲストブック"からあなたのアプリケーション名に置き換えて同じ環境を使用する事ができます。例では、これら全てのディレクトリは/web/www.mydomain.com/smarty/guestbook/の下に置かれています。

ドキュメントルート下には最低1つのファイルが必要であり、それはwebブラウザによってアクセスされるスクリプトです。 この例ではドキュメントルート下に/guestbook/というサブディレクトリを置き、スクリプトindex.phpを呼び出しています。

テクニカルノート: "index.php"がデフォルトのディレクトリインデックスとして識別されるようにwebサーバーをセットアップすると便利です。そうすれば、もし"http://www.example.com/guestbook/"にアクセスされた時にURLに"index.php"がなくても"index.php"スクリプトが実行されます。apacheのあなたのディレクトリインデックスの設定(各エントリは空白によって分けられる)の最後に"index.php"を追加する事により可能です。

続き…

ページ上段