如何在调用 url view helper 时有时切换 baseUrl

发布于 2024-10-17 14:17:14 字数 231 浏览 4 评论 0原文

我有一个关于 zend 应用程序中 url 的最佳实践的问题。 我的应用程序将在两个不同的上下文中运行(facebook 和独立)。 通常我的baseUrl 是空的。但是当在 Facebook 中运行(作为画布应用程序)时,我将 baseUrl 设置为“apps.facebook.com/xxx”...但也有例外。大多数情况下我想要新的 baseUrl,但有时我不需要。目前,当我不需要它时,我会删除baseUrl...

提前致谢

i have a question about the best practice on urls in a zend application.
My application will run in two different contexts (facebook and standalone).
Normally my baseUrl is empty. But when run in Facebook (as canvas app) I set my baseUrl to be "apps.facebook.com/xxx"... but there are exceptions. Mostly I want the new baseUrl, but sometimes I do not. Currently I strip out the baseUrl, when I do not need it...

Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

那请放手 2024-10-24 14:17:14

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

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.

子栖 2024-10-24 14:17:14

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

The best choice would be to subclass the BaseUrl view helper and use the extended one when you need the custom value.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文