我对 zend 应用程序中 url 的最佳实践有疑问。我的应用程序将在两种不同的环境(facebook 和独立)中运行。通常我的 baseUrl 是空的。但是当在 Facebook(作为画布应用程序)中运行时,我将我的 baseUrl 设置为“apps.facebook.com/xxx”......但也有例外。大多数情况下,我想要新的 baseUrl,但有时我不想要。目前我去掉了baseUrl,当我不需要它时......
提前致谢
我对 zend 应用程序中 url 的最佳实践有疑问。我的应用程序将在两种不同的环境(facebook 和独立)中运行。通常我的 baseUrl 是空的。但是当在 Facebook(作为画布应用程序)中运行时,我将我的 baseUrl 设置为“apps.facebook.com/xxx”......但也有例外。大多数情况下,我想要新的 baseUrl,但有时我不想要。目前我去掉了baseUrl,当我不需要它时......
提前致谢
You can modify baseUrl in e.g. your view as follows:
<?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);
?>
It is important to remember to save and restore the original base for the baseUrl. Otherwise, all layout may not work properly as helper 'remember' their state and you don't want to change the base for system wide. Hope this will be helpful.
最好的选择是子类化BaseUrl
视图助手并在需要自定义值时使用扩展的助手。