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

RequestStack.php

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


 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\HttpFoundation;
 013   
 014  /**
 015   * Request stack that controls the lifecycle of requests.
 016   *
 017   * @author Benjamin Eberlei <kontakt@beberlei.de>
 018   */
 019  class RequestStack
 020  {
 021      /**
 022       * @var Request[]
 023       */
 024      private $requests = [];
 025   
 026      /**
 027       * Pushes a Request on the stack.
 028       *
 029       * This method should generally not be called directly as the stack
 030       * management should be taken care of by the application itself.
 031       */
 032      public function push(Request $request)
 033      {
 034          $this->requests[] = $request;
 035      }
 036   
 037      /**
 038       * Pops the current request from the stack.
 039       *
 040       * This operation lets the current request go out of scope.
 041       *
 042       * This method should generally not be called directly as the stack
 043       * management should be taken care of by the application itself.
 044       *
 045       * @return Request|null
 046       */
 047      public function pop()
 048      {
 049          if (!$this->requests) {
 050              return null;
 051          }
 052   
 053          return array_pop($this->requests);
 054      }
 055   
 056      /**
 057       * @return Request|null
 058       */
 059      public function getCurrentRequest()
 060      {
 061          return end($this->requests) ?: null;
 062      }
 063   
 064      /**
 065       * Gets the master Request.
 066       *
 067       * Be warned that making your code aware of the master request
 068       * might make it un-compatible with other features of your framework
 069       * like ESI support.
 070       *
 071       * @return Request|null
 072       */
 073      public function getMasterRequest()
 074      {
 075          if (!$this->requests) {
 076              return null;
 077          }
 078   
 079          return $this->requests[0];
 080      }
 081   
 082      /**
 083       * Returns the parent request of the current.
 084       *
 085       * Be warned that making your code aware of the parent request
 086       * might make it un-compatible with other features of your framework
 087       * like ESI support.
 088       *
 089       * If current Request is the master request, it returns null.
 090       *
 091       * @return Request|null
 092       */
 093      public function getParentRequest()
 094      {
 095          $pos = \count($this->requests) - 2;
 096   
 097          if (!isset($this->requests[$pos])) {
 098              return null;
 099          }
 100   
 101          return $this->requests[$pos];
 102      }
 103  }
 104