我注意到在Yii框架的開發中,有很多基本的HTML元素(CHtml有按鈕,鏈接等)的函數
以及菜單(可以很容易地用列表替換)。 我的問題是我認爲使用小部件的理想選擇? 什麼時候應該使用HTML?爲什麼Widgets而不是HTML?
1
A
回答
1
有時,框架會用自己的小部件替換基本的HTML。
對於鏈接小部件,框架可能會做其他的事情,如自動給它class="active"
如果鏈接是當前頁面,所以它可以以不同的樣式。
1
小工具是與他們的HTML等價物整齊的包裝。 Yii中的小部件通常也會加載所需的JavaScript庫。例如,Yii中的CMaskedTextField包含一個jQuery遮罩的輸入插件,它將與窗口小部件一起加載。編碼相同的HTML/JavaScript等效將需要更多的代碼行。
2
使用小部件的最大優點之一是您可以自動執行代碼生成,這意味着更多的代碼/功能和更少的代碼。
例如,在Yii
中,您有WidgetFactory
(位於config/main中),您可以在其中指定所有小部件的默認屬性。 更改出廠默認設置會更改您的整個應用/網站小部件。
這樣,你只處理一些特定的視圖,你可能需要調整你的小部件行爲。
您也可以破解Widget
代碼,以適應代碼生成以適應您的需求。
相關問題
- 1. 爲什麼使用HTML而不是HAML?
- 2. 爲什麼index.ctp呈現爲文本而不是html/php?
- 3. 爲什麼retainCount是0而不是1?
- 4. 爲什麼爲(;;)而不是while(1)?
- 5. 是什麼,而不
- 6. 爲什麼我應該使用content_tag而不是「常規」html?
- 7. 爲什麼$('div#my')返回Object Reference而不是HTML Tag?
- 8. 爲什麼要使用WTForms,而不是用HTML發佈
- 9. 爲什麼加載靜態html頁面而不是Wordpress?
- 10. 爲什麼此代碼使用.replaceWith而不是.html
- 11. 爲什麼照片排列而不是網格(HTML + CSS)?
- 12. 爲什麼RemoteViews(Widgets)不支持Android中的EditText視圖?
- 13. 爲什麼我得到零而不是?
- 14. 爲什麼堆棧彈出(而不是+
- 15. 爲什麼合併而不是快進?
- 16. 爲什麼,而不是使用回調
- 17. 爲什麼說零而不是停用?
- 18. 爲什麼使用classmethod而不是staticmethod?
- 19. 爲什麼Asp.net MVC而不是Asp.net MVP
- 20. 爲什麼UnhandledExceptionEventArgs.ExceptionObject對象而不是Exception?
- 21. 爲什麼使用TCPDF而不是mpdf
- 22. 爲什麼myInstance = nil而不是self.myInstance = nil?
- 23. 爲什麼調度Event.OPEN而不是IOErrorEvent.IO_ERROR?
- 24. 爲什麼導入javax.swing。*而不是java.swing。*
- 25. 爲什麼阻止而不是循環?
- 26. 爲什麼mutable.Set.empty ++ = treeSet而不是++?
- 27. 爲什麼json而不是txt
- 28. 爲什麼使用leal而不是incq?
- 29. 爲什麼使用iconv_strpos而不是strpos?
- 30. 爲什麼null == myVar而不是myVar == null?