PHP常規模板引擎中與CSS/JSON衝突的解決,cssjson_PHP教程

來源:互聯網
上載者:User

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){



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

}script>

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

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


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

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

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

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

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

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

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

php動態產生html標籤與CSS問題

echo '

im create by php </p>'
?>

編譯後,HTML結構是什嗎?CSS是在用戶端運行,所以當你發現樣式不對的時候,你查看源檔案,儲存為HTML去檢查,看有什麼不同,如果你是AJAX做的,源檔案沒有對應的結構,那就就開啟FireBug 複製代碼產生HTML 再去檢查!

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

http://www.bkjia.com/PHPjc/864309.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/864309.htmlTechArticlePHP常規模板引擎中與CSS/JSON衝突的解決,cssjson 主要針對對象:Smarty/Dwoo 參考:http://developer.51cto.com/art/201009/224929.htm 其實以前都不怎麼關注...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.