Event Listener
先说说时间监听怎么回事,平时用symfony写代码的时候是不是经常看到错误提示,而且还是各种类型提示都有,这就是symfony本身的事件监听。
当你写出bug了,symfony就会自动监听到,并作出处理,这就是事件监听,当然symfony只是显示一下错误提示而已,没有深入的做处理。
有时候改完一个bug,在运行下,发现symfony又提示有新的bug提示,因为事件监听是有权重(priority)的,权重高优先显示。
我们也写一个这样东西,帮助我们处理更多的事情,感觉就像雇个小兵,帮我们自动处理问题一样。
老生常谈,建立IndexController,更改如下
php bin/console make:controller IndexController
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentRoutingAnnotationRoute;
class IndexController extends AbstractController
{
/**
* @Route("/", name="index")
*/
public function index()
{
return $this->json("name"=>$name); ---------->$name变量未定义,数据格式也带错了
}
}
运行看一下报错。
(1/1) ParseError
syntax error, unexpected '=>' (T_DOUBLE_ARROW), expecting ',' or ')'
告诉我们$this->json数据格式不对,我们改成这样,再运行
return $this->json(["name"=>$name]);
又报了一个错误,前后报错两次,这就是symfony错误处理优先级。
Notice: Undefined variable: name
未完待续。。。因为不是网站高级会员,看不见了。岁能给我详细的回答回答,谢谢大牛
文章来源
symfony学习网站,最专业的symfony4课程网站! | Symfonyedu