我回答了這個問題,因爲我回到了相同的代碼,10個月後,它再次讓我困惑。
我是在默認模塊,索引控制器和索引操作的上下文中。
我想回應一些簡單的文字作爲一個快速的方法來看看發生了什麼事代碼:
class IndexController extends Zend_Controller_Action
{
public function indexAction()
{
//home page
echo '<h1>hello world</h1>';
//set the special home page layout
$this->_helper->layout()->setLayout('home-page');
}
麻煩的是 - 回送的文本只是沒有顯示出來。
它在其他控制器中工作,但不是這個。這讓我瘋狂。
現在 - 我已經解決了這個問題。
我對這個特定的控制動作使用了一個特殊的佈局...'主頁佈局'。
在我的主頁佈局中,我沒有渲染任何視圖腳本。所有的內容和設計都在佈局中。由於主頁是一個特殊的獨特頁面,因此無需分成兩步查看。出於這個原因,我沒有理由需要一個視圖腳本。但是,我確實創建了一個'views \ scripts \ index \ index.phtml'來讓ZF免於抱怨。然而,我沒有把它放在我的佈局中 - 因爲它不是必需的。
任何回顯的輸出都被捕獲到layout()->content
(由默認響應段的佈局自動分配)。因爲我沒有迴應該段,所以它表現得好像被回顯的文本被壓制一樣。
爲了解決這個問題,我只需要確保我回應了內容段。
即
<html>
<head>
...
</head>
<body>
... my home page html...
<?php echo $this->layout()->content ?>
... my home page html...
</body>
</html>
,它與我的調試文本中迴盪太...會爲渲染:
... my home page html...
<h1>hello world</h1>
... my home page html...
是你實際上包括MyClass的文件到您的應用程序,或實例MyClass的()作爲應用程序中任何位置的對象? – Mark 2010-01-08 16:03:45
我在做兩個。首先包括文件並刷新頁面以查看是否輸出文本,有時還將類實例化爲對象。這實際上只是一些「調試文本」的例子。 – 2010-01-10 16:14:47
到目前爲止所有的答覆者 - 謝謝我會嘗試這些建議 – 2010-01-10 16:17:22