首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Zend Framework -如何从动作助手中调用控制器的redirect()

Zend Framework -如何从动作助手中调用控制器的redirect()
EN

Stack Overflow用户
提问于 2011-04-04 02:46:18
回答 3查看 7.8K关注 0票数 6

我正在Action Helper的preDispatch方法中执行ACL检查。当它失败时,我想调用动作控制器的_redirect方法,但是我很难做到这一点。

zend-framework, call an action helper from within another action helper这篇文章的评论中,我看到了两种解决方案。在第一个示例中,控制器作为$this->_actionController从帮助器访问。在第二个示例中,可以使用$this->getActionController()访问它。

我尝试了以下两种方法:

代码语言:javascript
运行
AI代码解释
复制
$this->_actionController->_redirect('/');
$this->getActionController()->_redirect('/');

无论哪种情况,我都会得到‘_redirect’方法不存在...‘。对于可以从操作帮助器访问的控制器方法,是否存在限制?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-04 03:59:53

你可以在动作帮助器中使用Redirector action helper。例如:

代码语言:javascript
运行
AI代码解释
复制
class My_Controller_Action_Helper_Test extends Zend_Controller_Action_Helper_Abstract {

     public function preDispatch()  {
        $redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('Redirector');         
        $redirector->gotoUrl('/url');
    }            
}

控制器的_redirect method只是重定向器的gotoUrl方法的包装器。

票数 14
EN

Stack Overflow用户

发布于 2011-04-04 02:58:41

示例如何在preDispatch()中实现:

代码语言:javascript
运行
AI代码解释
复制
$request = $this->getActionController()->getRequest();
$urlOptions = array('controller' => 'auth', 
                    'action' => 'login');
$redirector = new Zend_Controller_Action_Helper_Redirector();
$redirector->gotoRouteAndExit($urlOptions, null, true);
票数 0
EN

Stack Overflow用户

发布于 2012-03-15 10:55:04

为什么不使用:

代码语言:javascript
运行
AI代码解释
复制
$this->_response->setRedirect('/login');
$this->_response->sendResponse();

或者:

代码语言:javascript
运行
AI代码解释
复制
$this->_request->setModuleName('default');
$this->_request->setControllerName('error');
$this->_request->setActionName('404');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5534111

复制
相关文章
Zend FrameWork之Zend_Db_Table笔记
根据Zend_Db_Table操作数据(也就是在models建立一个对应表的模型) 准备条件: course数据表中有cid课程号,自增,主键,cname课程名称,ccredit课程学分 在models建立Course.php编写Course类继承Zend_Db_Table 写表$_name=’course’;表主键$_primary=’cid’; 1.插入记录操作 要在表中插入一行新数据,只需要将列名:数据的关联数组作为参数,调 用insert()方法即可.(zend framework)会自
苦咖啡
2018/05/08
1.3K0
zend framework项目分组(初级版)
Zend_Controller_Front 控制了Zend_Controller系统的整个工作流。它是前端控制器(FrontController)模型的解释。Zend_Controller_Front处理所有由服务器接收的请求并负责把请求派发给动作控制器 Zend_Controller_Request_Abstract (often referred to as the Request Object)描述请求环境和提供设置和读取控制器和动作名字以及任何请求参数的方法。另外它跟踪它所包含的动作是否被Zend_
苦咖啡
2018/05/08
7810
zend framework项目分组(初级版)
Zend FrameWork 配置文件(初级版)
[production] ;命名空间配置以及自动命名空间注册 autoloadernamespaces[] = “Zend_” autoloadernamespaces[] = “Paper_” appnamespace = “Application” ;运行时设置 phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 phpSettings.DATE.timezone =”Asia/Shanghai”
苦咖啡
2018/05/08
6200
nginx+php-fpm配置zend framework
server { listen 80; server_name 192.168.1.187; root /var/www/html/public; index index.php; #charset utf-8; location ~* \.(js|ico|gif|jpg|png|css|jpeg|swf)$ { access_log off; expires 2d; } location / { if (!-f $request_filename) { rewrite ^(.+)
苦咖啡
2018/05/08
1.2K0
Zend FrameWork程序员来看看
1.php文件格式 只有php代码的文件结尾不允许出现?>结束 缩进要用4个空格而不是用tab 每行代码长度在80~120字符 2.命名约定 类名只允许使用数字字母字符(不建议使用数字),eg;Zen
苦咖啡
2018/05/07
9510
PHP官方框架 Zend Framework 2.1 发布
Zend Framework (简写ZF)是由 Zend 公司支持开发的完全基于 PHP5 的开源PHP开发框架,可用于开发 Web 程序和服务,ZF采用 MVC(Model–View-Controller) 架构模式来分离应用程序中不同的部分方便程序的开发和维护。
魏杰
2022/12/23
4990
PHP官方框架 Zend Framework 2.1 发布
Zend Framework 配置404、500页面
$application->bootstrap() ->run(); 修改项目index.php中代码如下 try { $application->bootstrap() ->run(); } catch (Exception $e) { switch ($e->getCode()) { case 500: { if (!(include_once ‘404.html’))
苦咖啡
2018/05/08
9460
Zend Framework自动加载、简单路由配置(Bootstrap.php)
<?php class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { /* * 自动加载 */ protected fun
苦咖啡
2018/05/08
9290
jsp:plugin动作如何调用一个Applet?
马 克-to-win:jsp:plugin可以调用Java插件。Applet和Servlet对应,是浏览器里运行的一项技术。可以画图,可以运用算法, 非常棒。比如可以通过Servlet把数据从服务器返回到客户端,之后绘画在浏览器当中。但由于浏览器对它的支持程度不一样,限制了它的使用。你不希望自 己辛辛苦苦编完的程序,用户在用浏览器上网时,运行不了吧!所以Applet给人不可靠的感觉。
马克java社区
2021/07/13
1.2K0
【说站】php Zend引擎如何执行代码
以上就是php Zend引擎执行代码的方法,希望对大家有所帮助。更多php学习指路:php教程
很酷的站长
2022/11/24
9980
【说站】php Zend引擎如何执行代码
如何修复specialadves WordPress Redirect Hack
攻击者经常利用易受攻击的插件来破坏 WordPress 网站并将访问者重定向到垃圾邮件和诈骗网站。这是一个持续多年的运动。有效负载域会定期更换和更新,但目标大致相同:诱使毫无戒心的用户点击恶意链接以传播广告软件并将虚假广告推送到受害者的桌面上。
Khan安全团队
2022/02/23
9830
【coder】 Coder PHP Framework 控制器 | 教程九
与一般的框架不同,为了更好的保证框架的安全性,控制器不能通过url直接访问,而需要先配置路由。route\web.php。
Kunkka Wu
2022/01/13
3000
地产终端从同行手中收购sold.com!
据知名博主Jamie Zoch在个人网站上曝料称,日前极品域名sold.com易主,原持有者为美国知名在线房地产销售平台Ten-X,而买家则是同行——房产售卖网站Fizber。
躲在树上的域小名
2018/01/10
6210
地产终端从同行手中收购sold.com!
Zend_Http之Zend_Http_Client
$client = new Zend_Http_Client(‘http://192.168.1.180/index/get’, array( ‘maxredirects’ => 0, ‘timeout’ => 30)); // 上述代码和下面的代码是两种不同的写法 $client = new Zend_Http_Client(); $client->setUri(‘http://192.168.1.180/index/get’); $client->setConfig(array( ‘max
苦咖啡
2018/05/08
9920
【动作转移】开源 | 从视频到动画的未配对动作风格迁移
论文名称:Unpaired Motion Style Transfer from Video to Animation
CNNer
2020/12/15
1.4K0
Zend_Http之Zend_Http_Response
有人就问了这个文章中只是负责发送http://blog.phpfs.com/archives/1628.html,我想知道发送结果和处理内容?于是乎就有了Zend_Http_Response的介绍和使用 对于由Zend_Http_Client – 介绍返回的应答(Response)信息,Zend_Http_Response 可以提供简单的访问方式。 它提供一组友好的方法来获得从请求返回的应答信息: isError(): 如果收到HTTP出错状态的代码,返回TRUE, 否则返回FALSE. isSuccess
苦咖啡
2018/05/08
6140
PHP 扩展与 ZEND 引擎的整合
PHP 扩展是对 PHP 功能的一个补充,编写完 PHP 扩展以后, ZEND 引擎需要获取到 PHP 扩展的信息,比如 phpinfo() 函数是如何列出 PHP 扩展的信息,PHP 扩展中的函数如何提供给 PHP 程序员使用,这些是开发 PHP 扩展需要了解的内容。
码农UP2U
2020/08/26
7350
点击加载更多

相似问题

Zend framework 2从同一控制器的其他动作中调用动作

10

为什么这个Zend Framework _redirect()调用失败?

32

如何动态加载控制器和动作(Zend Framework + AJAX)?

15

Zend :如何从视图脚本调用控制器动作助手?

12

Zend Framework 3中如何从控制器调用模型

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档