我注意到在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?