有些人在視圖腳本中報告了訪問,設置或從baseUrl()
獲取正確值的問題。但我想知道爲什麼有必要使用它,至少在ZF應用程序位於虛擬專用主機(Amazon EC2)的情況下,我可以完全控制目錄結構和apache重寫規則,以及路線。在Zend Framework視圖腳本中使用baseUrl()是否很重要?
我知道,例如,在文件系統foo.jpg
生活public/images/foo.jpg
,並且應用程序的mod_rewrite將直接向public
所有請求 - 所以在我看來,劇本就簡單多了/更清晰,更有效地寫類似
<img src="/images/foo.jpg" />
代替
<img src="<?php echo $this->baseUrl();?>/images/foo.jpg" />
不使用baseUrl()
真正提供什麼樣的面向未來的穩健性或其他利益的?到目前爲止,我還沒有使用它,並沒有問題。但是我繼承了一些使用它的代碼,並且我傾向於在編輯包含它們的視圖腳本時去掉這些用法。我會後悔嗎?
我想我明白你的觀點。你的意思是,將來我可以使用baseUrl()成員函數編寫自己的視圖助手,該函數將檢查其參數以確定適用於該特定資源的CDN服務器。我想這是有道理的。但是它出現在我繼承的代碼中的方式是我在問題中顯示的方式,只是「手動」地將空值參數的調用結果添加到前面。所以我會爲此+1,因爲它提供了有用的洞察力,但如果有其他人想出使用它的理由,請延遲檢查它。 – sootsnoot
+1。我總是使用'baseUrl'助手來擺脫HTML中的「硬編碼」路徑。設想一種情況,您將應用分發給某人,但他們不會將其安裝在網站的根目錄中,現在所有內容引用都必須更改爲使用baseUrl。現在就使用它,它可以節省很多時間,並使應用程序更加便攜。 – drew010
好的,編輯指出了一個簡單的用法,可能是原始代碼作者想到的,儘管顯然最初的答案顯示了幫手的使用方式,所以我已經接受了答案。有一天使用CDN的可能性似乎比將它安裝在除域以外的其他地方更可能。所以我想這不是剝離我找到的用途,而是將它們改爲建議的形式。感謝您的洞察! – sootsnoot