我已经在YII中启动了一个应用程序,我想使用适当的YII标准,但我对它的CHTML类的使用感到有些好奇.我觉得用CHtml::link()或CHtml::image()代替普通的HTML代码<a></a>,并<img src... />会花费更多的时间在服务器端应用程序.我试图寻找一些使用它的理由但是却没有成功地找到任何关于我为什么要使用它的好资源以及它对传统HTML的益处.就像我可以使用所有这些方法来定义普通HTML代码中的操作路径一样,为什么要使用它
任何帮助或参考澄清将不胜感激
谢谢
我们来谈谈CHtml :: link().它的主要优点是你可以通过简单地将数组作为参数传递来指示控制器路由并发送一些get变量.让我们说你想去LivingController的eat()动作,变量'meal',它的值是'汉堡包'.它可以简单地这样做:
> CHtml::link(array('LivingController/eat', 'meal'=>'hamburgers'));
Run Code Online (Sandbox Code Playgroud)
如果你只想表达这个<a></a>,那么我不需要告诉你它会有多难.此外,我们应该记住,使用CHtml :: link()生成的链接将始终有效,即使您更改了url格式.这不会发生<a></a>:每次更改url格式时都必须重写url.
至少对我来说,CHtml :: image()的优点不太清楚.真诚地,我认为这只是一个封装问题.