Symfony2获取刷新函数的错误代码



我正在使用Symfony并创建一个具有3层(客户端、apache、mysql)的软件。所以我不知道当symfony应用程序持续存在并刷新某些内容时,如何获得状态?

当我在数据库中添加某些内容时,我会显示一个类似"添加完成!"的警报,但如果我的数据库关闭,尽管失败,我仍会显示"添加完成"。。。

那么,我如何才能获得这些函数的状态(flush/persist)呢?如何更改我的警报开关状态?

致问候,

使用try&捕获块:

try {
     $article = new Article(); //Example entity
     $em = $this->getDoctrine()->getEntityManager();
     $em->persist($article);
     $em->flush();  
     $this->get('session')->setFlash('flash_key',"Add done!");
 } catch (Exception $e) {
     $this->get('session')->setFlash('flash_key',"Add not done: " . $e->getMessage());
 }

如果出现错误,请尝试在catch()中使用"\Doctrine\ORM\ORMException$e"、\DDoctrine\DBALException$e或"\Exception$e"

我的问题是,我将一个复杂对象传递到一个需要字符串的字段中,尽管我已将该列设置为ManyToOne。显然@ORM\Column推翻了这一点。

然而!有趣的不是错误是什么,而是我如何修复它。

我有PDO异常。我不得不深入研究xdebug和PHPStorm的代码。xdebug受到许多PHP IDE的支持。xdebug很难在您设置它的前几次中进行设置。让它显示在phpinfo()、xdebug.enable_remote或xdebug.remote_host.中总是会遇到一些防火墙问题

习惯它。就去做吧!不,说真的。在xdebug工作之前,不要再用PHP编写另一行代码;即使你遇到了800万个问题。你将在编码方面节省数年的生命。

我不知道Symfony,但ZF3现在附带了一个Vagrantfile。您安装了流浪者和Oracle VirtualBox,在Zf3项目目录中键入vangrant up,您就有了一个功能齐全的本地web服务器来运行Zf3应用程序http://localhost:8080.从那时起,我所要做的就是:

首先,在我第一次调用vagrant up之前,我在Vagrantfile中添加了以下行config.vm.network "private_network", ip: "192.168.33.10"。。。然后我打电话给vagrant up

vangrant ssh
sudo -s
apt-get install php-xdebug
echo "xdebug.remote_enable = 1" >> /etc/php/7.0/apache2/php.ini
echo "xdebug.remote_host = 192.168.33.1" >> /etc/php/7.0/apache2/php.ini
apachectl restart

在phpinfo()中,您应该看到xdebug-somwhere。只要ctrl + f。如果它在那里,你大部分时间都在做生意。

然后我在防火墙上添加了一个端口9000的规则。然后我开始了xdebug会话。如果它不起作用你可以暂时关闭Windows防火墙来检查它是否起作用,但请记住立即启用它,并确保它不仅仅是防火墙。为端口9000上的传入设置防火墙规则,并允许ip 192.168.33.10。如果你不知道怎么做。。。你为什么要开发网络软件?

学习使用xdebug!!!

相关内容

最新更新