Verzeichnisstruktur phpBB-3.3.16


Veröffentlicht
27.04.2026

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.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

      (Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

Event.php

Zuletzt modifiziert: 01.05.2026, 11:26 - Dateigröße: 4.36 KiB


 001  <?php
 002  /**
 003   * Zend Framework (http://framework.zend.com/)
 004   *
 005   * @link      http://github.com/zendframework/zend-eventmanager for the canonical source repository
 006   * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
 007   * @license   https://github.com/zendframework/zend-eventmanager/blob/master/LICENSE.md
 008   */
 009   
 010  namespace Zend\EventManager;
 011   
 012  use ArrayAccess;
 013   
 014  /**
 015   * Representation of an event
 016   *
 017   * Encapsulates the target context and parameters passed, and provides some
 018   * behavior for interacting with the event manager.
 019   */
 020  class Event implements EventInterface
 021  {
 022      /**
 023       * @var string Event name
 024       */
 025      protected $name;
 026   
 027      /**
 028       * @var string|object The event target
 029       */
 030      protected $target;
 031   
 032      /**
 033       * @var array|ArrayAccess|object The event parameters
 034       */
 035      protected $params = [];
 036   
 037      /**
 038       * @var bool Whether or not to stop propagation
 039       */
 040      protected $stopPropagation = false;
 041   
 042      /**
 043       * Constructor
 044       *
 045       * Accept a target and its parameters.
 046       *
 047       * @param  string $name Event name
 048       * @param  string|object $target
 049       * @param  array|ArrayAccess $params
 050       */
 051      public function __construct($name = null, $target = null, $params = null)
 052      {
 053          if (null !== $name) {
 054              $this->setName($name);
 055          }
 056   
 057          if (null !== $target) {
 058              $this->setTarget($target);
 059          }
 060   
 061          if (null !== $params) {
 062              $this->setParams($params);
 063          }
 064      }
 065   
 066      /**
 067       * Get event name
 068       *
 069       * @return string
 070       */
 071      public function getName()
 072      {
 073          return $this->name;
 074      }
 075   
 076      /**
 077       * Get the event target
 078       *
 079       * This may be either an object, or the name of a static method.
 080       *
 081       * @return string|object
 082       */
 083      public function getTarget()
 084      {
 085          return $this->target;
 086      }
 087   
 088      /**
 089       * Set parameters
 090       *
 091       * Overwrites parameters
 092       *
 093       * @param  array|ArrayAccess|object $params
 094       * @throws Exception\InvalidArgumentException
 095       */
 096      public function setParams($params)
 097      {
 098          if (! is_array($params) && ! is_object($params)) {
 099              throw new Exception\InvalidArgumentException(
 100                  sprintf('Event parameters must be an array or object; received "%s"', gettype($params))
 101              );
 102          }
 103   
 104          $this->params = $params;
 105      }
 106   
 107      /**
 108       * Get all parameters
 109       *
 110       * @return array|object|ArrayAccess
 111       */
 112      public function getParams()
 113      {
 114          return $this->params;
 115      }
 116   
 117      /**
 118       * Get an individual parameter
 119       *
 120       * If the parameter does not exist, the $default value will be returned.
 121       *
 122       * @param  string|int $name
 123       * @param  mixed $default
 124       * @return mixed
 125       */
 126      public function getParam($name, $default = null)
 127      {
 128          // Check in params that are arrays or implement array access
 129          if (is_array($this->params) || $this->params instanceof ArrayAccess) {
 130              if (! isset($this->params[$name])) {
 131                  return $default;
 132              }
 133   
 134              return $this->params[$name];
 135          }
 136   
 137          // Check in normal objects
 138          if (! isset($this->params->{$name})) {
 139              return $default;
 140          }
 141          return $this->params->{$name};
 142      }
 143   
 144      /**
 145       * Set the event name
 146       *
 147       * @param  string $name
 148       */
 149      public function setName($name)
 150      {
 151          $this->name = (string) $name;
 152      }
 153   
 154      /**
 155       * Set the event target/context
 156       *
 157       * @param  null|string|object $target
 158       */
 159      public function setTarget($target)
 160      {
 161          $this->target = $target;
 162      }
 163   
 164      /**
 165       * Set an individual parameter to a value
 166       *
 167       * @param  string|int $name
 168       * @param  mixed $value
 169       */
 170      public function setParam($name, $value)
 171      {
 172          if (is_array($this->params) || $this->params instanceof ArrayAccess) {
 173              // Arrays or objects implementing array access
 174              $this->params[$name] = $value;
 175              return;
 176          }
 177   
 178          // Objects
 179          $this->params->{$name} = $value;
 180      }
 181   
 182      /**
 183       * Stop further event propagation
 184       *
 185       * @param  bool $flag
 186       */
 187      public function stopPropagation($flag = true)
 188      {
 189          $this->stopPropagation = (bool) $flag;
 190      }
 191   
 192      /**
 193       * Is propagation stopped?
 194       *
 195       * @return bool
 196       */
 197      public function propagationIsStopped()
 198      {
 199          return $this->stopPropagation;
 200      }
 201  }
 202