第1回 Smartyの紹介 - Smarty講座

PHP基礎編

yossy先生のSmarty講座

Lecutures on PHP

第1回 Smartyの紹介 (その2)

 このエントリーをはてなブックマークに追加

インストール

では実際にSmartyをインストールしてみたいと思います。

yossy先生http://www.smarty.php.net/download.php からダウンロードが出来ます。2007/08/19時点での最新版は2.6.18です。「Latest Stable Release」にある「Smarty 2.6.18 Source」をクリックするとSmarty-2.6.18.tar.gzというファイルがダウンロードされます。

ダウンロードしたtar.gzファイルを展開します。ここではLinuxなどUnix系のOSへインストールするものとします。

・展開先は/usr/local/lib/Smarty-2.6.18 とします。
・ダウンロードしたファイルを/tmpの下へコピーします。
・rootでインストールします。


  # cd /usr/local/lib
  # tar zxvf /tmp/Smarty-2.6.18.tar.gz

さて、ここまで準備が完了したら、正しくインストールできているかどうかテストしてみたいと思います。以下のPHPコードを作成しtest_smarty.phpというファイル名で保存し、Webブラウザからアクセスしてみてください。なおここではwebサーバーのDocumentRootを/var/www/htmlとし、その下にtest_smarty.phpを保存しています。

6行目のSMARTY_DIRという定数定義では、値にSmartyをインストールしたディレクトリのlibsディレクトリを記述します。最後の'/'を忘れないようにしてください。

<?php
// エラーが発生した場合にエラー表示をする設定
ini_set'display_errors');

// Smartyインストールディレクトリを定数定義
define'SMARTY_DIR''/usr/local/lib/Smarty-2.6.18/libs/' );

// Smartyを使うための準備
require_once( SMARTY_DIR 'Smarty.class.php' );
$smarty = new Smarty();
?>

さて、何か画面に表示されたでしょうか? 画面に何も表示されなかった人はインストールが正しく成功しています。もし、以下のようなエラーが表示された人は、Smartyのインストール先パス、SMARTY_DIRの定義値が間違っていないか確認してください。


Warning: require_once(Smarty.class.php) [function.require-once]: failed to open stream: No such file or directory in /var/www/html/test_smarty.php on line 9

Fatal error: require_once() [function.require]: Failed opening required 'Smarty.class.php' (include_path='.:/usr/local/lib/php') in /var/www/html/test_smarty.php on line 9

続いてSmartyで使用するパスの設定です。Smartyでは以下の4種類のパスを使用します。

・テンプレートディレクトリ
・コンパイルディレクトリ
・設定ファイルディレクトリ
・キャッシュディレクトリ

これらのディレクトリを以下のような構成で作成してください。


/var/www/
  ├ html/              ドキュメントルート(Webサーバーで設定) 
  ├ smarty/
  │  ├ templates/     テンプレートディレクトリ
  │  ├ templates_c/   コンパイルディレクトリ
  │  ├ configs/       設定ファイルディレクトリ
  │  ├ cache/         キャッシュディレクトリ

なお、コンパイルディレクトリとキャッシュディレクトリにはSmartyがファイルを生成します。そのためwebサーバーのユーザーに書き込み権限を与える必要があります。もしwebサーバーのユーザーが"www"だった場合は、以下のようにしてディレクトリのオーナーとパーミッションを変更します。


 # chown www /var/www/smarty/templates_c /var/www/smarty/cache
 # chmod 700 /var/www/smarty/templates_c /var/www/smarty/cache

これでSmartyのインストール、設定は完了です。

  



Pick Up Q&A

Q
動的なURLを静的に見せる方法
 このエントリーをはてなブックマークに追加 
A
普通に考えて、mod_rewrite でしょうね。 http://www.nishishi.com/blog/2006/01/mod_rewrite_url.html...

>>続きを読む

GETのままでは検索エンジンのロボットが拾ってくれなかったためにSEO対策として有効だと言われていますね。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)