[ Index ] |
PHP Cross Reference of phpBB-3.3.14-deutsch |
[Summary view] [Print] [Text view]
1 <?php 2 3 /* 4 * This file is part of the Symfony package. 5 * 6 * (c) Fabien Potencier <fabien@symfony.com> 7 * 8 * For the full copyright and license information, please view the LICENSE 9 * file that was distributed with this source code. 10 */ 11 12 namespace Symfony\Component\HttpKernel\DataCollector; 13 14 use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcherInterface; 15 use Symfony\Component\EventDispatcher\EventDispatcherInterface; 16 use Symfony\Component\HttpFoundation\Request; 17 use Symfony\Component\HttpFoundation\Response; 18 19 /** 20 * EventDataCollector. 21 * 22 * @author Fabien Potencier <fabien@symfony.com> 23 */ 24 class EventDataCollector extends DataCollector implements LateDataCollectorInterface 25 { 26 protected $dispatcher; 27 28 public function __construct(EventDispatcherInterface $dispatcher = null) 29 { 30 if ($dispatcher instanceof TraceableEventDispatcherInterface && !method_exists($dispatcher, 'reset')) { 31 @trigger_error(sprintf('Implementing "%s" without the "reset()" method is deprecated since Symfony 3.4 and will be unsupported in 4.0 for class "%s".', TraceableEventDispatcherInterface::class, \get_class($dispatcher)), \E_USER_DEPRECATED); 32 } 33 $this->dispatcher = $dispatcher; 34 } 35 36 /** 37 * {@inheritdoc} 38 */ 39 public function collect(Request $request, Response $response, \Exception $exception = null) 40 { 41 $this->data = [ 42 'called_listeners' => [], 43 'not_called_listeners' => [], 44 ]; 45 } 46 47 public function reset() 48 { 49 $this->data = []; 50 51 if ($this->dispatcher instanceof TraceableEventDispatcherInterface) { 52 if (!method_exists($this->dispatcher, 'reset')) { 53 return; // @deprecated 54 } 55 56 $this->dispatcher->reset(); 57 } 58 } 59 60 public function lateCollect() 61 { 62 if ($this->dispatcher instanceof TraceableEventDispatcherInterface) { 63 $this->setCalledListeners($this->dispatcher->getCalledListeners()); 64 $this->setNotCalledListeners($this->dispatcher->getNotCalledListeners()); 65 } 66 $this->data = $this->cloneVar($this->data); 67 } 68 69 /** 70 * Sets the called listeners. 71 * 72 * @param array $listeners An array of called listeners 73 * 74 * @see TraceableEventDispatcherInterface 75 */ 76 public function setCalledListeners(array $listeners) 77 { 78 $this->data['called_listeners'] = $listeners; 79 } 80 81 /** 82 * Gets the called listeners. 83 * 84 * @return array An array of called listeners 85 * 86 * @see TraceableEventDispatcherInterface 87 */ 88 public function getCalledListeners() 89 { 90 return $this->data['called_listeners']; 91 } 92 93 /** 94 * Sets the not called listeners. 95 * 96 * @param array $listeners An array of not called listeners 97 * 98 * @see TraceableEventDispatcherInterface 99 */ 100 public function setNotCalledListeners(array $listeners) 101 { 102 $this->data['not_called_listeners'] = $listeners; 103 } 104 105 /** 106 * Gets the not called listeners. 107 * 108 * @return array An array of not called listeners 109 * 110 * @see TraceableEventDispatcherInterface 111 */ 112 public function getNotCalledListeners() 113 { 114 return $this->data['not_called_listeners']; 115 } 116 117 /** 118 * {@inheritdoc} 119 */ 120 public function getName() 121 { 122 return 'events'; 123 } 124 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Mon Nov 25 19:05:08 2024 | Cross-referenced by PHPXref 0.7.1 |