Overview

Namespaces

  • Composer
    • Autoload
  • Guzzle
    • Common
      • Exception
    • Http
      • Curl
      • Exception
      • Message
        • Header
      • QueryAggregator
    • Parser
      • Cookie
      • Message
      • UriTemplate
      • Url
    • Plugin
      • Mock
    • Stream
  • Mockery
    • Adapter
      • Phpunit
    • CountValidator
    • Exception
    • Generator
      • StringManipulation
        • Pass
    • Loader
    • Matcher
  • None
  • Omnipay
    • Common
      • Exception
      • Message
    • Dummy
      • Message
    • Fatzebra
      • Message
  • PHP
  • Symfony
    • Component
      • EventDispatcher
        • Debug
        • DependencyInjection
        • Tests
          • Debug
          • DependencyInjection
      • HttpFoundation
        • File
          • Exception
          • MimeType
        • Session
          • Attribute
          • Flash
          • Storage
            • Handler
            • Proxy
        • Tests
          • File
            • MimeType
          • Session
            • Attribute
            • Flash
            • Storage
              • Handler
              • Proxy
      • Yaml
        • Exception
        • Tests

Classes

  • Symfony\Component\Yaml\Tests\A
  • Symfony\Component\Yaml\Tests\B
  • Symfony\Component\Yaml\Tests\DumperTest
  • Symfony\Component\Yaml\Tests\InlineTest
  • Symfony\Component\Yaml\Tests\ParseExceptionTest
  • Symfony\Component\Yaml\Tests\ParserTest
  • Symfony\Component\Yaml\Tests\YamlTest
  • Overview
  • Namespace
  • Function
  • Tree
  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\HttpFoundation;
 13: 
 14: /**
 15:  * Request stack that controls the lifecycle of requests.
 16:  *
 17:  * @author Benjamin Eberlei <kontakt@beberlei.de>
 18:  */
 19: class RequestStack
 20: {
 21:     /**
 22:      * @var Request[]
 23:      */
 24:     private $requests = array();
 25: 
 26:     /**
 27:      * Pushes a Request on the stack.
 28:      *
 29:      * This method should generally not be called directly as the stack
 30:      * management should be taken care of by the application itself.
 31:      */
 32:     public function push(Request $request)
 33:     {
 34:         $this->requests[] = $request;
 35:     }
 36: 
 37:     /**
 38:      * Pops the current request from the stack.
 39:      *
 40:      * This operation lets the current request go out of scope.
 41:      *
 42:      * This method should generally not be called directly as the stack
 43:      * management should be taken care of by the application itself.
 44:      *
 45:      * @return Request|null
 46:      */
 47:     public function pop()
 48:     {
 49:         if (!$this->requests) {
 50:             return;
 51:         }
 52: 
 53:         return array_pop($this->requests);
 54:     }
 55: 
 56:     /**
 57:      * @return Request|null
 58:      */
 59:     public function getCurrentRequest()
 60:     {
 61:         return end($this->requests) ?: null;
 62:     }
 63: 
 64:     /**
 65:      * Gets the master Request.
 66:      *
 67:      * Be warned that making your code aware of the master request
 68:      * might make it un-compatible with other features of your framework
 69:      * like ESI support.
 70:      *
 71:      * @return Request|null
 72:      */
 73:     public function getMasterRequest()
 74:     {
 75:         if (!$this->requests) {
 76:             return;
 77:         }
 78: 
 79:         return $this->requests[0];
 80:     }
 81: 
 82:     /**
 83:      * Returns the parent request of the current.
 84:      *
 85:      * Be warned that making your code aware of the parent request
 86:      * might make it un-compatible with other features of your framework
 87:      * like ESI support.
 88:      *
 89:      * If current Request is the master request, it returns null.
 90:      *
 91:      * @return Request|null
 92:      */
 93:     public function getParentRequest()
 94:     {
 95:         $pos = count($this->requests) - 2;
 96: 
 97:         if (!isset($this->requests[$pos])) {
 98:             return;
 99:         }
100: 
101:         return $this->requests[$pos];
102:     }
103: }
104: 
Omnipay Fat Zebra / Paystream Gateway Module API Documentation API documentation generated by ApiGen