4

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

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

谢谢

4

1 回答 1

5

让我们谈谈 CHtml::link()。它的主要优点是您可以通过简单地将数组作为参数传递来指示控制器路由并发送一些获取变量。假设您想进入 LivingController 的 eat() 动作,变量“meal”,其值为“hamburgers”。它可以简单地这样做:

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

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

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

于 2012-04-26T18:39:58.717 回答