主要針對對象: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引擎同樣有效。
關於框架你可以這麼理解, 就像一個大樓的地基, 無論大樓怎麼蓋, 打造地基的方法永遠都是類似的.
在我們進行程序開發的過程中, 你會發現每個程序之間都要有很多類似的東西和可以重用的東西, 如果你每個項目過後都把這些類似的東西積累起來, 那麼這些代碼可以稱為庫, 當庫越來越強大, 甚至連程序結構都可以重用的時候, 你就可以叫他框架了.
國內比較好的框架有thinkPHP, fleaPHP, 國外zendFramework和symfony. 如果樓主想靠php找工作建議學zendFramework, 如果個人開發建議使用symfony.
關於模板引擎, 你可以理解成施工隊裡刷油漆的, 他們是專業刷油漆的, 蓋樓的不用管油漆怎麼刷, 刷油漆的也不關注樓是怎麼蓋的.
其實模板引擎的主要作用還是將邏輯和顯示進行分離, 最初可能是為了讓程序員和美工更好的進行配合, 既然初學者, 我想你經常會把php代碼和html寫到一起, 你自己是可以看懂的, 但是美工不一定看得懂, 他們可能只能看懂html和css, 再者說如果美工在混合代碼裡加了復雜的css或者js你也一樣會看不懂, 這樣就給程序開發帶來了很大的困難. 所以才有了模板引擎, 它將邏輯和顯示完全分離, 程序員只需要關注邏輯, 在程序的最後將數據准備好然後傳遞給模板, 而美工只要修改模板而不需要考慮程序邏輯, 模板技術在團隊開發中是經常使用的, 這裡推薦你學習smarty.
不知道有沒有講透, 有不懂可以補充.
<?php
echo '<p> im create by php </p>'
?>
編譯後,HTML結構是什麼?CSS是在客戶端運行,所以當你發現樣式不對的時候,你查看源文件,保存為HTML去檢查,看有什麼不同,如果你是AJAX做的,源文件沒有對應的結構,那就就打開FireBug 復制代碼生成HTML 再去檢查!
總之,要檢查CSS,請不要盯著程序看,放到客戶端HTML的環境下去測試吧!