Smarty の PHP 開発 1
ここでは Smarty の構成については説明しません。ここでは、これらの関数のうちの 2 つについて説明しましょう。
(1) assign メソッド
assign は、テンプレートの実行時にテンプレート変数に値を代入するために使用されます。構文形式は次のとおりです。
{assign var =”” value =””}
パラメータ var には値が割り当てられます 変数名、パラメータ値は変数に割り当てられる値です。
(2)display メソッド
display はテンプレートを表示するために使用され、正当なテンプレート リソース タイプとパスを指定する必要があります。
構文形式は次のとおりです。
void display(string template[,string cache_id[,stringcompile_id]])
パラメータcache_idはオプションのパラメータであり、キャッシュ番号を指定するために使用されます。パラメータcompile_idは、コンパイル番号を指定するために使用されるオプションのパラメータです。コンパイル番号を使用して、テンプレートをさまざまなバージョンにコンパイルできます。たとえば、テンプレートをさまざまな言語用にコンパイルできます。
サンプルコードは次のとおりです。
<code class=" hljs xml"><span class="php"><span class="hljs-preprocessor"><?php</span> <span class="hljs-comment">//定义服务器的绝对路径</span>define(<span class="hljs-string">'BASE_PATH'</span>, <span class="hljs-variable">$_SERVER</span>[<span class="hljs-string">'DOCUMENT_ROOT'</span>]);<span class="hljs-comment">//定义smarty的绝对路径</span>define(<span class="hljs-string">'SMARTY_PATH'</span>, <span class="hljs-string">'/PHPTEST/smarty/'</span>);<span class="hljs-comment">//加载Smarty的类库文件</span><span class="hljs-keyword">require</span> BASE_PATH.SMARTY_PATH.<span class="hljs-string">'Smarty.class.php'</span>;<span class="hljs-comment">//实例化一个Smarty对象</span><span class="hljs-variable">$smarty</span> = <span class="hljs-keyword">new</span> Smarty();<span class="hljs-comment">//定义各个目录的路径</span><span class="hljs-variable">$smarty</span>->template_dir =BASE_PATH.SMARTY_PATH.<span class="hljs-string">'templates/'</span>;<span class="hljs-variable">$smarty</span>->compile_dir =BASE_PATH.SMARTY_PATH.<span class="hljs-string">'templates_c/'</span>;<span class="hljs-variable">$smarty</span>->config_dir =BASE_PATH.SMARTY_PATH.<span class="hljs-string">'configs/'</span>;<span class="hljs-variable">$smarty</span>->cache_dir =BASE_PATH.SMARTY_PATH.<span class="hljs-string">'cache/'</span>;<span class="hljs-comment">//使用Smarty 赋值方法将一对名称/方法发送到模版中</span><span class="hljs-variable">$smarty</span>->assign(<span class="hljs-string">'title'</span>,<span class="hljs-string">'Jack 的第一个Smarty程序'</span>);<span class="hljs-variable">$smarty</span>->assign(<span class="hljs-string">'content'</span>,<span class="hljs-string">'Hello welcome to study Smarty'</span>);<span class="hljs-comment">//显示模版</span><span class="hljs-variable">$smarty</span>->display(<span class="hljs-string">'index.html'</span>);<span class="hljs-preprocessor">?></span></span></code>
実行結果は次のとおりです。