我已经读了很长一段时间......我很困惑 -
你能帮忙解决一下有什么区别:
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
是性能问题还是语法不同?
谢谢, 丹尼
答案 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文件。这就是你想要的地方。