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