【Smarty】SmartyのインストールからHelloWorldまで
PHPのテンプレートエンジンSmartyをインストールして、HelloWorldをブラウザ上に表示するまでの方法を記述します。
[環境]
Windows10
PHP 5.6.20
Smarty 3.1.30
手順
1. Smartyのインストール
Smartyを公式サイトからダウンロードします。
http://www.smarty.net/docsv2/ja/
ダウンロードしたファイルを解凍したら、php/includes/に配置します。 (includesが存在しなければ作成します。)
C:/php/includes/Smarty
次にphp.iniのinclude_pathのコメントを外して有効にします。
include_path = ".c:¥php¥includes"
phpinfo関数で有効になったことを確認できます。
<?php phpinfo();
ブラウザからアクセスして、include_pathがphp\includesとなっていればOKです。
2. ディレクトリを構成
実際にSmartyを利用するアプリのディレクトリを構成します。
必須となるのはSmartyのテンプレートを格納するディレクトリと、テンプレートのコンパイル結果を格納するディレクトリです。
ここではそれぞれtpl、tpl_cとします。
プロジェクト名/smarty/tpl プロジェクト名/smarty/tpl_c
次にドキュメントルートとなるディレクトリを作成します。
ここではpublishとします。
プロジェクト名/publish
3. テンプレートを作成する
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Hello World!</title> </head> <body> Hello {$name}! </body> </html>
{$name}にPHPファイルから渡されたデータが出力されます。
4. phpファイルからテンプレートを呼び出す
Smartyクラスを読み込んでテンプレートに渡したい値などを設定します。
<?php // Smartyクラスを読み込む require_once("Smarty/libs/Smarty.class.php"); // Smartyのインスタンスを生成し、 // テンプレートディレクトリと // コンパイルディレクトリを読み込む $smarty = new Smarty(); $smarty->template_dir = "../smarty/templates/"; $smarty->compile_dir = "../smarty/templates_c/"; // assignメソッドを使ってテンプレートに渡す値を設定 $smarty->assign("name", "World"); // テンプレートを表示する $smarty->display("hello.tpl");
5. サーバーを起動する
ビルトインサーバーを起動してブラウザからアクセスします。
$ php -S localhost:9000