【问题标题】:how to sometimes switch baseUrl when calling url view helper调用 url view helper 时如何有时切换 baseUrl
【发布时间】:2011-06-29 00:25:16
【问题描述】:

我对 zend 应用程序中 url 的最佳实践有疑问。 我的应用程序将在两种不同的环境(facebook 和独立)中运行。 通常我的 baseUrl 是空的。但是当在 Facebook(作为画布应用程序)中运行时,我将我的 baseUrl 设置为“apps.facebook.com/xxx”......但也有例外。大多数情况下,我想要新的 baseUrl,但有时我不想要。目前我去掉了baseUrl,当我不需要它时......

提前致谢

【问题讨论】:

    标签: url zend-framework base-url viewhelper


    【解决方案1】:

    您可以修改 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 的原始基础。否则,所有布局可能无法正常工作,因为助手“记住”他们的状态,并且您不想更改系统范围的基础。希望这会有所帮助。

    【讨论】:

    • 应用程序可以为程序员做这件事不是更好吗?也许应用程序应该记住这些事情:)
    • 感谢您的回答。这基本上是我尝试过的两件事之一。仍然很冗长.... :(
    【解决方案2】:

    最好的选择是继承 BaseUrl 视图助手并在需要自定义值时使用扩展的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-12
      • 1970-01-01
      • 2012-09-28
      相关资源
      最近更新 更多