Yii包括CSS和JS文件

时间:2012-06-27 14:48:10

标签: php css yii

我已经读了很长一段时间......我很困惑 -

你能帮忙解决一下有什么区别:

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 

是性能问题还是语法不同?

谢谢, 丹尼

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:0)

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

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

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