大家都知道在thinkphp裡面,我們是透過在控制器裡面給模板分配變量,然後在模板裡面透過標籤的方式來取得變量,假設有一個變量為$name,那麼我們在模板裡面就應該是通過。
{$name}的方式來取得變數值,在這裡問題就出來了,假設我們的這個範本裡面還有其他的JS,CSS,例如我在範本裡面還有這樣一段JS程式碼如下:
<script type="text/javascript"> Var str=6; If(str>=6){ Alert('test'); }else{ Alert(''); } </script>
如果模板裡面有上述一段這樣一段JS程式碼的話,那thinkphp解析模板的時候就會報錯,因為在這段JS裡面也出現了{}定界符,thinkphp就會認為{ }裡面的也是一個模板標籤,然後去解析它,但它其實只是一段JS程式碼,所以就報錯了。
當我們碰到這種情況該怎麼處理呢?下面我們就來看看thinkphp中修改定界符的方法:
在thinkphp裡面很多修改系統預設東西的操作都是透過設定檔來實現的,修改標籤定界符也是透過在設定文件裡面來指定的,我們來看一下具體應該怎麼做,在config.php裡面增加如下程式碼:
<?php return array( 'TMPL_L_DELIM'=>'<{', 'TMPL_R_DELIM'=>'}>', ); ?>
透過上述程式碼我們也可以看出,標籤定界符已經改成了e26e9540e9b8581ef56ea6b23b735762,也就是說如果我們現在在控制器裡面分配一個變數$this->assign('name',$name),這時候我們在模板裡面就應該這樣寫了<{$name}> ;,這樣就不會和JS或CSS衝突了。
推薦教學:《TP5》
以上是thinkphp中修改模板標籤定界符的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!