《初回更新:2005/11/08 15:11》
今後の仕事の効率化のために、自宅鯖に
Smartyを入れてみる。
このテンプレートエンジンの良さは、オリジナルのテンプレートを一度だけコンパイルし、コンパイルされたテンプレートにアクセスするのでサーバにかかる負荷が軽減される。オリジナルテンプレートも変更されたもののみ、再コンパイルするので無駄がない。
また、テンプレートを編集するのにわざわざ変更デザインをデザイナーに出してもらい、プログラマが変数を入れるなどの作業をしなくても、変数表記のお約束さえ覚えてしまえば、デザイナーが自分でテンプレートを編集できるのがよい。
マニュアルでは、
Smarty.class.phpは、</usr/local/lib/>あたりに置くようになってるのだが、レンタルサーバなどの共有サーバではroot権限がないため、そうもいかないので、ドキュメントルートと同じ階層あたり(
必ずドキュメントルート外であること)にライブラリ用ディレクトリを作成し、.htaccessなどで自分用のinclude_pathを設定したうえで、そこに配置する。
もし、どうしてもinclude_pathを設定できない場合は、ini_setでinclude_pathをそのつど設定するか、フルパスで記述するかしかないかも。
Smarty.class.phpのクラスSmartyを拡張して、適当に名前を付けたクラス(今回はテストなので、Smarty_phpとする)を作成。仮にSetup.phpとして保存。
Smarty_phpの中で、Smarty.class.phpのクラスSmartyのインスタンスを作成し、template_dir、compile_dir、config_dir、cache_dirを設定する。
実際にテンプレートエンジンを使う際は、Setup.phpを読み込み、Smarty_phpのインスタンスを作成して利用。