【发布时间】:2011-09-22 09:59:32
【问题描述】:
我有一个 Facebook 应用程序。
Facebook 说我需要重定向到某个 facebook url,以便用户授予应用程序权限。
我目前有一个视图 phtml 文件,以下内容可以正常工作:
<script type="text/javascript">
top.location.href = 'https://www.facebook.com/dialog/oauth?client_id=<?php echo $this->fbAppId?>&redirect_uri=<?php echo $this->serverUrl() . $this->baseUrl() . $this->url(array('controller' => 'index', 'action' => 'post-authorize'))?>&scope=publish_stream,user_birthday,user_about_me,user_activities,user_location';
</script>
但是 - 我想尝试一种不同的方法,这将节省资源和处理时间,不渲染视图,而只是通过 Location 标头进行重定向(使用重定向器操作帮助程序或任何其他操作帮助程序) .
在视图脚本中,我使用ServerUrl 视图助手来生成绝对路径。
如何在不使用视图助手的情况下在控制器中生成绝对路径?
我看不出在控制器中使用视图助手是 MVC 模式中的一个好习惯。
注意:重定向到 facebook,其中我自己的站点 url 作为 get 参数附加。所以我需要的绝对网址是我自己的,而不是 facebook。这意味着使用 setUseAbsoluteUri 方法对我没有帮助,因为它适用于 facebook url,而不是我的。
【问题讨论】:
标签: model-view-controller zend-framework url