我有一個關於zend應用程序中urls的最佳實踐的問題。 我的應用程序將運行在兩個不同的上下文(Facebook和獨立)。 通常我的baseUrl是空的。但是,當在Facebook(作爲畫布應用程序)中運行時,我將我的baseUrl設置爲「apps.facebook.com/xxx」...但也有例外。大多數情況下,我想要新的baseUrl,但有時我不需要。目前我剝離出的baseUrl,當我不需要它......如何在調用url視圖幫助程序時有時切換baseUrl
在此先感謝
我有一個關於zend應用程序中urls的最佳實踐的問題。 我的應用程序將運行在兩個不同的上下文(Facebook和獨立)。 通常我的baseUrl是空的。但是,當在Facebook(作爲畫布應用程序)中運行時,我將我的baseUrl設置爲「apps.facebook.com/xxx」...但也有例外。大多數情況下,我想要新的baseUrl,但有時我不需要。目前我剝離出的baseUrl,當我不需要它......如何在調用url視圖幫助程序時有時切換baseUrl
在此先感謝
可以在例如修改的baseUrl您的觀點如下:
<?php
// save current base
$oldBase = $this->getHelper('baseUrl')->getBaseUrl();
// set a new one for a short time
echo $this->getHelper('baseUrl')->setBaseUrl('new/base/')->baseUrl('link');
// restore the original base
$this->getHelper('baseUrl')->setBaseUrl($oldBase);
?>
請務必記住保存並恢復baseUrl的原始基礎。否則,所有佈局可能無法正常工作,因爲幫助者'記住'他們的狀態,並且您不想在系統範圍內更改基礎。希望這會有所幫助。
最好的選擇是繼承BaseUrl
視圖幫助器,並在需要自定義值時使用擴展的幫助器。
應用程序可以爲程序員做這件事情會更好嗎?也許應用程序應該記住*關於這些東西:) – takeshin 2011-02-19 13:10:24