Verzeichnisstruktur phpBB-3.2.0
- Veröffentlicht
- 06.01.2017
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 |
AppVariable.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\Bridge\Twig;
013
014 use Symfony\Component\HttpFoundation\Request;
015 use Symfony\Component\HttpFoundation\RequestStack;
016 use Symfony\Component\HttpFoundation\Session\Session;
017 use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
018 use Symfony\Component\Security\Core\SecurityContext;
019 use Symfony\Component\DependencyInjection\ContainerInterface;
020
021 /**
022 * Exposes some Symfony parameters and services as an "app" global variable.
023 *
024 * @author Fabien Potencier <fabien@symfony.com>
025 */
026 class AppVariable
027 {
028 private $container;
029 private $tokenStorage;
030 private $requestStack;
031 private $environment;
032 private $debug;
033
034 /**
035 * @deprecated since version 2.7, to be removed in 3.0.
036 */
037 public function setContainer(ContainerInterface $container)
038 {
039 $this->container = $container;
040 }
041
042 public function setTokenStorage(TokenStorageInterface $tokenStorage)
043 {
044 $this->tokenStorage = $tokenStorage;
045 }
046
047 public function setRequestStack(RequestStack $requestStack)
048 {
049 $this->requestStack = $requestStack;
050 }
051
052 public function setEnvironment($environment)
053 {
054 $this->environment = $environment;
055 }
056
057 public function setDebug($debug)
058 {
059 $this->debug = (bool) $debug;
060 }
061
062 /**
063 * Returns the security context service.
064 *
065 * @deprecated since version 2.6, to be removed in 3.0.
066 *
067 * @return SecurityContext|null The security context
068 */
069 public function getSecurity()
070 {
071 @trigger_error('The "app.security" variable is deprecated since version 2.6 and will be removed in 3.0.', E_USER_DEPRECATED);
072
073 if (null === $this->container) {
074 throw new \RuntimeException('The "app.security" variable is not available.');
075 }
076
077 if ($this->container->has('security.context')) {
078 return $this->container->get('security.context');
079 }
080 }
081
082 /**
083 * Returns the current user.
084 *
085 * @return mixed
086 *
087 * @see TokenInterface::getUser()
088 */
089 public function getUser()
090 {
091 if (null === $this->tokenStorage) {
092 if (null === $this->container) {
093 throw new \RuntimeException('The "app.user" variable is not available.');
094 } elseif (!$this->container->has('security.context')) {
095 return;
096 }
097
098 $this->tokenStorage = $this->container->get('security.context');
099 }
100
101 if (!$token = $this->tokenStorage->getToken()) {
102 return;
103 }
104
105 $user = $token->getUser();
106 if (is_object($user)) {
107 return $user;
108 }
109 }
110
111 /**
112 * Returns the current request.
113 *
114 * @return Request|null The HTTP request object
115 */
116 public function getRequest()
117 {
118 if (null === $this->requestStack) {
119 if (null === $this->container) {
120 throw new \RuntimeException('The "app.request" variable is not available.');
121 }
122
123 $this->requestStack = $this->container->get('request_stack');
124 }
125
126 return $this->requestStack->getCurrentRequest();
127 }
128
129 /**
130 * Returns the current session.
131 *
132 * @return Session|null The session
133 */
134 public function getSession()
135 {
136 if (null === $this->requestStack && null === $this->container) {
137 throw new \RuntimeException('The "app.session" variable is not available.');
138 }
139
140 if ($request = $this->getRequest()) {
141 return $request->getSession();
142 }
143 }
144
145 /**
146 * Returns the current app environment.
147 *
148 * @return string The current environment string (e.g 'dev')
149 */
150 public function getEnvironment()
151 {
152 if (null === $this->environment) {
153 throw new \RuntimeException('The "app.environment" variable is not available.');
154 }
155
156 return $this->environment;
157 }
158
159 /**
160 * Returns the current app debug mode.
161 *
162 * @return bool The current debug mode
163 */
164 public function getDebug()
165 {
166 if (null === $this->debug) {
167 throw new \RuntimeException('The "app.debug" variable is not available.');
168 }
169
170 return $this->debug;
171 }
172 }
173