2015-09-19 32 views
1

今天我正在瀏覽zf2中已經編寫的代碼。zend框架中兩行之間的區別2

我想知道在我的佈局文件夾中大約兩行header.phtml文件:

線條<?php echo $this->layout()->face_login_url; ?><?php echo $face_login_url; ?>

兩者都給出相同的輸出,所以有什麼區別?

回答

2

header.phtml是佈局的視圖腳本。這在「根」視圖模型實例上設置,並允許將變量分配給它,就像控制器操作返回的ViewModel實例一樣。

這些變量在視圖中爲extracted,允許在header.phtml文件中使用以下內容。

echo $this->face_login_url 
echo $face_login_url; 

第二行是對Layout View Helper的調用。

此幫助程序允許您輕鬆訪問佈局或「根」視圖模型(渲染header.phtml時使用的相同ViewModel 實例)。因此,第二行實際上是訪問相同的變量。爲了避免不必要的開銷,應該只需要使用之外的header.phtml

echo $this->layout()->face_login_url;