使用headlink()在zend框架中插入javascript和css有什么好处?

时间:2010-05-23 22:50:29

标签: zend-framework

文档说使用headlink() - > prependstylesheet()在布局文件中插入css。还说要用这种方式加载javascript文件。为什么这比仅仅在标题中对链接和脚本标记进行硬编码更好?我认为这是一个较慢的性能,因为它使用框架方法来做到这一点。使用zend framework 1.10

2 个答案:

答案 0 :(得分:1)

CSS 'cascading'。假设你构建了一些并不总是在页面上的模块化代码。您希望在不破坏任何CSS的情况下更改样式的某些默认行为。好吧,您可以将其作为第一个样式表条目注入,它将作为其余样式表的基本样式添加。

例如:

* { padding: 0; margin: 0; }

如果你把它放在你的页面中间,它会销毁任何在你页面上任何元素上为这些属性设置的'级联'的边距和填充;但是,如果您使用$this->headStyle()->prependStyle("* { padding: 0; margin: 0; }"),它将重置所有元素的边距和填充,但页面上其余的样式将有机会覆盖这些属性。

更多理由:


为何选择JavaScript?

  • http:// framework.zend.com/manual/en/zend.view.helpers.html#zend.view.helpers.initial.headscript
  • 这是模块化设计的好习惯。 Magento电子商务大量使用这种方法

内联JavaScript应该使用:

  • http:// framework.zend.com/manual/en/zend.view.helpers.html#zend.view.helpers.initial.inlinescript。
  

HeadScript的兄弟助手,   你应该使用InlineScript   希望在内联中包含脚本   HTML正文。最后放置脚本   你的文件是一个很好的做法   为了加快您的页面传递,   特别是在使用第三方时   分析脚本。

希望这会有所帮助。抱歉,我不得不捏造网址,因为我是“新”用户。

答案 1 :(得分:1)

headlink()->prependstylesheet()可以通过子类化帮助程序轻松扩展。例如,我使用自定义headlink()帮助程序来压缩,混淆和合并一个文件中的所有样式表。您可能在代码中有条件,要加载哪些资产。

当您缓存输出时,性能命中并不那么重要。