首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在控制器中发送答案后,Symfony2执行一个操作

在控制器中发送答案后,Symfony2执行一个操作
EN

Stack Overflow用户
提问于 2016-04-28 00:55:17
回答 3查看 148关注 0票数 1

我想在我的控制器中执行一个操作,但是在我将视图呈现给用户之后,这里是我的控制器操作。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public function addAction(Request $request)
{
    $this->denyAccessUnlessGranted('ROLE_ADMIN', null, 'Vous n\'avez pas les droits pour accéder à cette page' );
    $preconisation = new Preconisation();
    $form = $this->createForm(new PreconisationType($preconisation), $preconisation);

    if($request->isMethod('POST')) {
        $form->handleRequest($request);
        if ($form->isValid()) {
            $em = $this->getDoctrine()->getManager();
            $rapport = $em->getRepository('DataBaseBundle:rapport')->findByIdRapport($preconisation->getRapport()->getIdRapport());
            $rapport[0]->incPreco($preconisation->getRapport()->getIdRapport());
            $em->persist($preconisation);
            $em->persist($rapport[0]);
            $em->flush();
            return $this->redirect($this->generateUrl('data_base_preconisation_index'));
        }
    }
    return $this->render('DataBaseBundle:Preconisation:add.thml.twig', array('form' => $form->createView(),'menu' => 1,
        'leftMenu' => 1,));
}

所以

我想在用户收到他的答案后执行这个操作,以避免很长的充电时间。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$rapport = $em->getRepository('DataBaseBundle:rapport')->findByIdRapport($preconisation->getRapport()->getIdRapport());
                $rapport[0]->incPreco($preconisation->getRapport()->getIdRapport());
                $em->persist($rapport[0]);

我看到我可以使用侦听器和调度员,但我并不真正理解他的结构或它是如何工作的。但是我也看到了带有终止事件的httpKernel。不幸的是我没有答案。我不知道哪一个是最好的。

有什么建议吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-04-28 01:09:11

监听器是构造代码的好方法,但它不会加快应用程序的速度。如果要在向用户发送响应后执行代码,则必须使用cron作业或作业调度程序。

我可以推荐使用JMSJobQueueBundle (文档)。简而言之,这就是要做的事情:

  1. 创建一个控制台命令来处理您想要的操作;
  2. 将控制器、侦听器或其他任何东西用于创造工作

$job = new Job('my-symfony2:command', array('some-args', 'or', '--options="foo"'));

票数 1
EN

Stack Overflow用户

发布于 2016-04-28 05:55:25

发送响应/视图后,可以使用javascript和ajax (从视图)调用一个远程php脚本。

票数 1
EN

Stack Overflow用户

发布于 2016-04-28 02:49:34

也许您可以尝试将侦听器添加到事件"kernel.terminate“(只有在处理不改变响应的情况下)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36909813

复制
相关文章
Laravel 6.14.0 版本发布,支持在响应发送后执行任务
Laravel 开发团队本周发布了 v6.14.0 版本,新增了 dispatchAfterResponse() 方法、在调度器(dispatcher)中支持宏方法、以及支持 NoMigrations 事件。
学院君
2020/02/19
1.9K0
crontab执行后发送邮件到指定邮箱
如何知道每次crontab的执行结果,可以通过把crontab的执行日志以邮件的方式发送到你的邮箱。crontab本身就有这个功能,只需在在crontab -e中添加指定的邮箱。 MAILTO=lia
行 者
2018/03/26
2.3K0
crontab执行后发送邮件到指定邮箱
Oracle——无法在查询中执行 DML 操作
create or replace function test_f(id varchar2) return varchar2 is Result varchar2(100); begin insert into sfcs_temp_17109 (sn)values(id);
_一级菜鸟
2019/09/10
4.2K0
Oracle——无法在查询中执行 DML 操作
Jenkins流水线执行完成后发送邮件通知
Jenkins需要配置邮件通知,安装插件Email Extension,然后进入系统管理-> 系统设置 ->Extended E-email Notification。这里我使用的是QQ邮箱,填写SMTP服务器地址smtp.qq.com 和端口 465注意要开启SSL,密码为授权码。
DevOps云学堂
2020/03/15
2.2K0
在Python中10行代码可以执行哪些高端操作?
Python以其简单的代码赢得了许多开发人员的青睐。为了促进开发人员用Python开发新的模块,从而形成良性循环,Python可以用短代码实现许多有趣的操作。让我们看看在不超过10行的代码中可以实现哪些有趣的特性。
用户2966292
2020/04/26
1.8K0
CompletableFuture在超时后,能够停止执行吗?
因此,CompletableFuture的异步任务如果超时异常try掉了,是不会停止执行的
阿超
2022/11/22
2.8K0
CompletableFuture在超时后,能够停止执行吗?
在 Emacs 中执行 Pyhton
最近在整理 Python 的相关的内容,主要需要整理成笔记,记录下来,等有需要的时候再进行复习。
zucchiniy
2019/10/30
1.3K0
控制器操作
一.控制器操作 我们首先复习一下基本的控制器定义和方法执行方式。 第一步:控制器默认创建在当前模块下的 Controller 目录下; 第二步:按照指定的命名规则:控制器名(首字母大写)+Controller.class.php; 第三步:控制器里的方法必须是 public 公共的; //控制器 class UserController extends Controller { public function index() { //index()方法在URL访问时可以忽略 } } URL 访问:http://localhost/demo39/User/index/
PM吃瓜
2019/08/13
6470
LeetCode 2011. 执行操作后的变量值
给你一个字符串数组 operations ,这是由操作组成的一个列表,返回执行所有操作后, X 的 最终值 。
Michael阿明
2022/01/07
6550
LeetCode 2011. 执行操作后的变量值
https://leetcode-cn.com/problems/final-value-of-variable-after-performing-operations/
freesan44
2021/09/22
6090
LeetCode 2011. 执行操作后的变量值
BackgroundWorker在单独的线程上执行操作
直接使用多线程有时候会带来莫名其妙的错误,不定时的发生,有时候会让程序直接崩溃,其实BackgroundWorker 类允许您在单独的专用线程上运行操作。可以通过编程方式创建 BackgroundWorker,也可以将它从“工具箱”的“组件”选项卡中拖到窗体上。如果在 Windows 窗体设计器中创建 BackgroundWorker,则它会出现在组件栏中,而且它的属性会显示在“属性”窗口中。
张果
2022/05/09
1.2K0
BackgroundWorker在单独的线程上执行操作
控制器操作【2】
三.跳转和重定向 ThinkPHP 在操作数据库时,需要跳转和重定向页面。ThinkPHP 提供了一组方法来解决了这个问题。 //成功和失败的跳转 class UserController extends Controller { public function index() { $flag = true; if ($flag) { //会跳转到:http://localhost/demo39/User/all $this->success('新增成功!', '../User/all'); } else { //会跳转到本页的上一页 $this->error('新增失败!'); } } } PS:success()方法和 error()方法,第一个参数是提示信息、第二个跳转的地址、第三个跳转时间。默认情况下 success()方法是 1 秒,error()方法是 3 秒。
PM吃瓜
2019/08/13
5720
控制器操作【3】
五.请求类型 ThinkPHP 提供了一组常量来判断当前请求是否是 GET、POST 等。通过判断请求处理不同的业务逻辑。 常量 含义 IS_GET 判断是否 GET 提交请求 IS_POST 判断是否 POST 提交请求 IS_PUT 判断是否 PUT 提交请求 IS_DELTE 判断是否 DELETE 提交请求 IS_AJAX 判断是否 AJAX 提交请求 //判断是否GET请求 if (IS_GET) { echo '是GET请求'; } else { echo '不是GET请求'; }
PM吃瓜
2019/08/13
5680
Sweet Alert弹窗点击确定后执行页面跳转等操作
首先参考上文,引入 Sweet Alert 所需的文件,我这里写了一个修改密码的确认框。
德顺
2019/11/12
5.4K0
Exchange 用户发送邮件提示:您无权执行此操作,解决办法
背景: Exchange服务器为:Exchange 2013,AD服务器:Windows Server 2012 R2,DNS服务器和AD是同一台服务器。 问题: 员工通过OWA发送邮件时,提示:您无权执行此操作。如下图:
BigYoung小站
2020/05/05
1.8K0
在 Linux 终端中退出一个程序的操作命令
在 Linux 中,你可以使用 Ctrl+C 键来中止终端中的运行程序。这对 Ubuntu 和其他 Linux 发行版都适用。
用户9105998
2021/11/22
5.3K0
一个Tensor在深度学习框架中的执行过程简单梳理
相信看到这篇文章的人都对深度学习框架是有所了解和熟悉的,也多多少少会使用Python写一些神经网络相关的代码。例如我们可以在PyTorch写出下面的代码:
BBuf
2022/02/11
1.4K0
一个Tensor在深度学习框架中的执行过程简单梳理
在silverlight中利用socket发送图片或文件
silverlight中的socket通讯支持,让sl开发基于web的聊天工具成为了可能,后来OpenFileDialog,SaveFileDialog的出现,更使得边聊天边传送图片(文件)得以实现,最新的SL4中又加入了摄像头支持,也许不久真的可以用silverlight开发出功能强大的视频聊天系统,目前唯一还没有解决的是p2p问题,根据sl3的sdk文档所述:  Socket 类为网络通信提供了一组方法和属性。Socket 类允许您使用 ProtocolType 枚举中所列出的任何一种通信协议执行异步数
菩提树下的杨过
2018/01/23
1.3K0
在silverlight中利用socket发送图片或文件
在Java中,使用HttpUtils实现发送HTTP请求
HTTP请求,在日常开发中,还是比较常见的,今天给大家分享HttpUtils如何使用。
冯文议
2023/03/12
4.3K0
在Java中,使用HttpUtils实现发送HTTP请求
点击加载更多

相似问题

在symfony2中执行操作之前

13

Rails -在控制器操作后执行JS

10

Symfony2:在每次操作后执行一些代码

11

在Pear Download发送后执行DB Update操作

20

Hapi 17:发送响应后执行操作

113
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文