このマニュアルはSmartyのものです。セキュリティなどの問題でRCMSでは利用できないものもありますので、ご注意ください。
拡張セットアップ拡張セットアップ
これは、基本的なインストール
の続きです。まず先にこちらから読んで下さい!
Smarty をより柔軟にするセットアップ方法は、
クラスを拡張
してあなたの Smarty の環境を初期化する事です。
ディレクトリパスの設定を同じ変数に何度も割り当てる代わりに、一箇所でそれらを行う事が出来ます。
新しいディレクトリ/php/includes/guestbook/
を作成し、setup.php という新しいファイルを作成しましょう。
この例の環境では /php/includes
が include_path です。
例と同じようにするか、あるいは絶対パスを使用して下さい。
例 2-10. /php/includes/guestbook/setup.php
<?php
// Smartyライブラリを読み込みます require('Smarty.class.php');
// setup.phpはアプリケーションに必要なライブラリファイルを // 読み込むのに適した場所です。それをここで行うことができます。例: // require('guestbook/guestbook.lib.php');
class Smarty_GuestBook extends Smarty {
function Smarty_GuestBook() {
// クラスのコンストラクタ。 // これらは新しいインスタンスで自動的にセットされます。
$this->Smarty();
$this->template_dir = '/web/www.example.com/guestbook/templates/'; $this->compile_dir = '/web/www.example.com/guestbook/templates_c/'; $this->config_dir = '/web/www.example.com/guestbook/configs/'; $this->cache_dir = '/web/www.example.com/guestbook/cache/';
$this->caching = true; $this->assign('app_name', 'Guest Book'); }
} ?>
|
|
では、index.php ファイルを修正し、
setup.php を使うようにしてみましょう。
例 2-11. /web/www.example.com/guestbook/htdocs/index.php
<?php
require('guestbook/setup.php');
$smarty = new Smarty_GuestBook();
$smarty->assign('name','Ned');
$smarty->display('index.tpl'); ?>
|
|
このように、アプリケーションのために全てを自動的に初期化する
Smarty_GuestBook()
クラスを使う事で、Smarty のインスタンスをとても簡単に作成することができました。