程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP常規模板引擎中與CSS/JSON沖突的解決,cssjson

PHP常規模板引擎中與CSS/JSON沖突的解決,cssjson

編輯:關於PHP編程

PHP常規模板引擎中與CSS/JSON沖突的解決,cssjson


主要針對對象:Smarty/Dwoo

參考:http://developer.51cto.com/art/201009/224929.htm

其實以前都不怎麼關注模板引擎,覺得沒必要使用。但隨著年齡的增加,代碼潔癖越來越嚴重,才開始碰到這個問題。

 

Smarty和CSS/JS的語法存在沖突,因為二者都需要使用大括號{}。雖然可以改Smarty的界定符,但你在一個現存系統中,去修改所有相關代碼,是不劃算的。

 

1. 避免同時出現

通過外部引用的方式避免。問題是避無所避。所以這種情況只適合少量簡單的情況。

 

2. 修改Smarty界定符

 

2. 使用Smarty的literal標記將樣式表信息包圍起來

<html> 
<head> 
<title>{$title}</title> 
{literal}  
<styletypestyletype="text/css"> 
p{  
margin::2px  
}  
</style> 
{/literal}  
</head> 
<script type="text/javascript">
      function goods_show(id){

<!--{literal}-->

art.dialog.open(url,{id:'select',title:'的:',width:760,height:380,padding: '10px'});

<!--{/literal}--> } </script>

 

第三種無疑是綠色環保的,在遇到沖突的地方,加上literal標記包裹。

該方案對Dwoo引擎同樣有效。

 


php框架與模板引擎是一會事

關於框架你可以這麼理解, 就像一個大樓的地基, 無論大樓怎麼蓋, 打造地基的方法永遠都是類似的.

在我們進行程序開發的過程中, 你會發現每個程序之間都要有很多類似的東西和可以重用的東西, 如果你每個項目過後都把這些類似的東西積累起來, 那麼這些代碼可以稱為庫, 當庫越來越強大, 甚至連程序結構都可以重用的時候, 你就可以叫他框架了.

國內比較好的框架有thinkPHP, fleaPHP, 國外zendFramework和symfony. 如果樓主想靠php找工作建議學zendFramework, 如果個人開發建議使用symfony.

關於模板引擎, 你可以理解成施工隊裡刷油漆的, 他們是專業刷油漆的, 蓋樓的不用管油漆怎麼刷, 刷油漆的也不關注樓是怎麼蓋的.

其實模板引擎的主要作用還是將邏輯和顯示進行分離, 最初可能是為了讓程序員和美工更好的進行配合, 既然初學者, 我想你經常會把php代碼和html寫到一起, 你自己是可以看懂的, 但是美工不一定看得懂, 他們可能只能看懂html和css, 再者說如果美工在混合代碼裡加了復雜的css或者js你也一樣會看不懂, 這樣就給程序開發帶來了很大的困難. 所以才有了模板引擎, 它將邏輯和顯示完全分離, 程序員只需要關注邏輯, 在程序的最後將數據准備好然後傳遞給模板, 而美工只要修改模板而不需要考慮程序邏輯, 模板技術在團隊開發中是經常使用的, 這裡推薦你學習smarty.

不知道有沒有講透, 有不懂可以補充.
 

php動態生成html標簽與CSS問題

<?php
echo '<p> im create by php </p>'
?>

編譯後,HTML結構是什麼?CSS是在客戶端運行,所以當你發現樣式不對的時候,你查看源文件,保存為HTML去檢查,看有什麼不同,如果你是AJAX做的,源文件沒有對應的結構,那就就打開FireBug 復制代碼生成HTML 再去檢查!

總之,要檢查CSS,請不要盯著程序看,放到客戶端HTML的環境下去測試吧!
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved