Verzeichnisstruktur phpBB-3.3.15
- Veröffentlicht
- 28.08.2024
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
EventDataCollector.php
001 <?php
002
003 /*
004 * This file is part of the Symfony package.
005 *
006 * (c) Fabien Potencier <fabien@symfony.com>
007 *
008 * For the full copyright and license information, please view the LICENSE
009 * file that was distributed with this source code.
010 */
011
012 namespace Symfony\Component\HttpKernel\DataCollector;
013
014 use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcherInterface;
015 use Symfony\Component\EventDispatcher\EventDispatcherInterface;
016 use Symfony\Component\HttpFoundation\Request;
017 use Symfony\Component\HttpFoundation\Response;
018
019 /**
020 * EventDataCollector.
021 *
022 * @author Fabien Potencier <fabien@symfony.com>
023 */
024 class EventDataCollector extends DataCollector implements LateDataCollectorInterface
025 {
026 protected $dispatcher;
027
028 public function __construct(EventDispatcherInterface $dispatcher = null)
029 {
030 if ($dispatcher instanceof TraceableEventDispatcherInterface && !method_exists($dispatcher, 'reset')) {
031 @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);
032 }
033 $this->dispatcher = $dispatcher;
034 }
035
036 /**
037 * {@inheritdoc}
038 */
039 public function collect(Request $request, Response $response, \Exception $exception = null)
040 {
041 $this->data = [
042 'called_listeners' => [],
043 'not_called_listeners' => [],
044 ];
045 }
046
047 public function reset()
048 {
049 $this->data = [];
050
051 if ($this->dispatcher instanceof TraceableEventDispatcherInterface) {
052 if (!method_exists($this->dispatcher, 'reset')) {
053 return; // @deprecated
054 }
055
056 $this->dispatcher->reset();
057 }
058 }
059
060 public function lateCollect()
061 {
062 if ($this->dispatcher instanceof TraceableEventDispatcherInterface) {
063 $this->setCalledListeners($this->dispatcher->getCalledListeners());
064 $this->setNotCalledListeners($this->dispatcher->getNotCalledListeners());
065 }
066 $this->data = $this->cloneVar($this->data);
067 }
068
069 /**
070 * Sets the called listeners.
071 *
072 * @param array $listeners An array of called listeners
073 *
074 * @see TraceableEventDispatcherInterface
075 */
076 public function setCalledListeners(array $listeners)
077 {
078 $this->data['called_listeners'] = $listeners;
079 }
080
081 /**
082 * Gets the called listeners.
083 *
084 * @return array An array of called listeners
085 *
086 * @see TraceableEventDispatcherInterface
087 */
088 public function getCalledListeners()
089 {
090 return $this->data['called_listeners'];
091 }
092
093 /**
094 * Sets the not called listeners.
095 *
096 * @param array $listeners An array of not called listeners
097 *
098 * @see TraceableEventDispatcherInterface
099 */
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 }
125