Zend框架1.12 - AppendStylesheet使链接到CSS文件两次


Zend Framework 1.12 - AppendStylesheet makes link to CSS file twice

我正在做《Zend Framework - A beginners 's Guide》一书中的例子。我几乎完成了,但我发现了一些奇怪的问题。其中一个在我的管理部门。php布局文件。我有这样的代码:

<?php echo $this->headLink()->appendStylesheet($this->baseUrl().'/css/master.css'); ?>

当我加载页面时,我看到它显示了master.css链接两次:

<link href="/square2/public/css/master.css" media="screen" rel="stylesheet" type="text/css" />  
<link href="/square2/public/css/master.css" media="screen" rel="stylesheet" type="text/css" />

当我按预期注释掉appendStyleSheet()函数时,没有显示任何内容。为什么这个函数做了两次而我只做了一次调用?

附录:作为测试,我执行了两个appendStyleSheet函数,在结果页面中,我三次看到CSS文件,显然第一次调用两次,第二次调用一次。有线索吗?

echo headLink

<?php $this->headLink()->appendStylesheet($this->baseUrl().'/css/master.css'); ?>
<?= $this->headLink(); ?>

我通过使用setStylesheet()来解决这个问题:

<?php $this->headLink()->setStylesheet($this->baseUrl().'/css/master.css'); ?>

正如Joel Joel Binks所解释的,对appendStylesheet()的第一次调用追加样式表并返回它。第二次调用返回先前附加的样式表和第二个样式表,因此第一个样式表将出现两次。