混淆使用YII CHtml :: link和CHtml :: image而不是HTML

时间:2012-04-26 11:25:58

标签: yii

我已经在YII中启动了一个应用程序,我想使用适当的YII标准,但我对它的CHTML类的使用感到有些好奇。我认为使用CHtml::link()CHtml::image()代替普通HTML代码<a></a><img src... />会花费更多时间在服务器端进行应用。我试图寻找一些使用它的理由但是却没有成功地找到任何关于我为什么要使用它的好资源以及它对传统HTML的益处。就像我可以使用所有这些方法来定义普通HTML代码中的操作路径一样,为什么要使用它

任何帮助或参考澄清将不胜感激

由于

1 个答案:

答案 0 :(得分:5)

让我们来谈谈CHtml :: link()。它的主要优点是你可以通过简单地将数组作为参数传递来指示控制器路由并发送一些get变量。让我们说你想去LivingController的eat()动作,变量'meal',它的值是'汉堡包'。它可以简单地这样做:

> CHtml::link(array('LivingController/eat', 'meal'=>'hamburgers'));

如果您只想使用<a></a>来表达这一点,那么我不需要告诉您它会有多难。此外,我们应该记住,使用CHtml :: link()生成的链接将始终有效,即使您更改了url格式。 <a></a>不会发生这种情况:每次更改网址格式时都必须重写网址。

CHtml :: image()的优点不太清楚,至少对我而言。真诚地,我认为这只是一个封装问题。