Smartyについて

トップ > 設置の基本 > Smartyについて

目次

Smartyの導入

PHP Labo で配布しているプログラムには、テンプレートエンジンにSmartyを使用します。Smartyの概要についてはSmartyの利用を参照してください。

SmartyはPHP標準のクラスライブラリでは無いので、手動インストールが必要になることが多いですが、サーバーによってはインストール済みになっています。Smartyがインストール済みの場合、各プログラムのはじめにある

require_once '../Smarty/Smarty.class.php';

この部分は、インストール済みの Smarty.class.php へのパスに変更してください。(設定するべきパスは、サーバーのサポートページなどを参照してください。)

以下ではSmartyがインストールされていないサーバー用に、Smartyのインストール方法を紹介します。…と言っても、必要なファイルを入手してアップロードするだけです。

ファイルの入手

Smartyは、以下の公式サイトからダウンロードすることができます。

Latest Stable Release から、Smartyの最新版がダウンロードできます。ファイルはgzip形式(拡張子は tar.gz)で圧縮されていますので解凍ソフトで解凍してください。
解凍ソフトがgzip形式に対応していない場合、Lhacaデラックス版をインストールすれば解凍できます。

解凍すると、demolibs など、複数のファイルとフォルダが作成されます。Smarty本体は libs 内に格納されています。他のファイルはデモや説明書なので使用しません。

gzip形式の解凍が難しい場合、以下のファイルをお試しください。公式サイトと同じファイルをLZH形式で圧縮しなおしています。

ファイルのアップロード

各配布プログラムの初期設定では、Smartyは1つ上の階層の Smarty フォルダ内に格納されているものとしています。

ですので、libs フォルダの名前を Smarty に変更した上で、各配布プログラムのディレクトリと同階層にアップロードすればOKです。例えば

public_html / index.html
     |
     +--  blog / index.php
            |    config.php
            |    error.log
            |    .htaccess
            |
            +-- configs / ~略~
            |
            +-- css / ~略~
            |
            +-- js / ~略~
            |
            +-- templates / ~略~
            |
            +-- templates_c /
            |
            +-- files /
            |
            +-- plugins / ~略~

このように public_html 直下にプログラムのディレクトリがある場合、

public_html / index.html
     |
     +-- blog / index.php
     |     |    config.php
     |     |    error.log
     |     |    .htaccess
     |     |
     |     +-- configs / ~略~
     |     |
     |     +-- css / ~略~
     |     |
     |     +-- js / ~略~
     |     |
     |     +-- templates / ~略~
     |     |
     |     +-- templates_c /
     |     |
     |     +-- files /
     |     |
     |     +-- plugins / ~略~
     |
     +-- Smarty / Config_File.class.php
            |     debug.tpl
            |     Smarty.class.php
            |     Smarty_Compiler.class.php
            |
            +-- internals / ~略~
            |
            +-- plugins / ~略~

このように同階層にアップロードします。また、プログラムを複数設置する場合、Smartyは使いまわすことができますので、何度もアップロードする必要はありません。

なお、Smarty本体の格納先を変更した場合、各プログラムのはじめにある

require_once '../Smarty/Smarty.class.php';

この部分のパスも変更してください。Smartyはブラウザから直接アクセスするファイルではないので、公開ディレクトリの外側に設置しておくのも有効です。