3

我已经读了很长时间了……我很困惑-

你能帮忙看看有什么区别:

Yii::app()->clientScript->registerCssFile(Yii::app()->baseUrl.'/css/some-file.css');

<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/some-file.css 

这是性能问题,还是只是语法不同?

谢谢,丹尼

4

2 回答 2

5

registerCssFile始终在<head>标签之间注册文件,即使您在视图中的某处调用它也是如此。如果您关心 HTML 验证(a <link>in<body>无效),但仍希望在视图中包含 CSS 文件,这将很有帮助。

registerCssFile实际上有助于提高性能,因为 CSS 仅在您需要时才注册(并且需要它)。

于 2012-06-27T14:56:59.627 回答
0

您使用它的方式是相同的。要验证这一点,请检查页面的来源(在您的浏览器中)并检查 Yii::app()->clientScript->registerCssFile 创建的语句。

但是,clientScript 允许您控制脚本在 HTML 文件中的位置。查看:http : //www.yiiframework.com/doc/api/1.1/CClientScript#registerScriptFile-detail 并查找 POS_HEAD、POS_BEGIN、POS_END。

可能更重要的是:在 MVC 哲学中,您希望在视图文件中包含与 HTML 输出相关的所有内容。Yii::app()->clientScript 允许您从视图文件中添加 CSS 和 JS 文件。这就是你想要的。

于 2012-06-27T15:00:20.730 回答