大家都知道在thinkphp里面,我們是通過在控制器里面給模板分配變量,然后在模板里面通過標簽的方式來獲取變量,假設有一個變量為$name,那么我們在模板里面就應該是通過。
{$name}的方式來獲取變量值,在這里問題就出來了,假設我們的這個模板里面還有其他的JS,CSS,比如我在模板里面還有這樣一段JS代碼如下:
<script type="text/javascript"> Var str=6; If(str>=6){ Alert('test'); }else{ Alert(''); } </script>
如果模板里面有上述一段這樣一段JS代碼的話,那thinkphp解析模板的時候就會報錯,因為在這段JS里面也出現(xiàn)了{}定界符,thinkphp就會認為{}里面的也是一個模板標簽,然后去解析它,但它其實只是一段JS代碼,所以就報錯了。
當我們碰到這種情況應該怎么處理呢?下面我們就來看一下thinkphp中修改定界符的方法:
在thinkphp里面很多修改系統(tǒng)默認東西的操作都是通過配置文件來實現(xiàn)的,修改標簽定界符也是通過在配置文件里面來指定的,我們來看一下具體應該怎么做,在config.php里面增加如下代碼:
<?php return array( 'TMPL_L_DELIM'=>'<{', 'TMPL_R_DELIM'=>'}>', ); ?>
通過上述代碼我們也可以看出,標簽定界符已經(jīng)改成了<{}>,也就是說如果我們現(xiàn)在在控制器里面分配一個變量$this->assign(‘name’,$name),這個時候我們在模板里面就應該這樣寫了<{$name}>,這樣就不會和JS或者CSS沖突了。
推薦教程:《TP5》