123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- <?php
- /*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- namespace Symfony\Bundle\FrameworkBundle\Templating;
- use Symfony\Component\DependencyInjection\ContainerInterface;
- use Symfony\Component\HttpFoundation\Request;
- use Symfony\Component\HttpFoundation\Session\Session;
- use Symfony\Component\Security\Core\SecurityContext;
- /**
- * GlobalVariables is the entry point for Symfony global variables in PHP templates.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
- class GlobalVariables
- {
- protected $container;
- public function __construct(ContainerInterface $container)
- {
- $this->container = $container;
- }
- /**
- * Returns the security context service.
- *
- * @deprecated since version 2.6, to be removed in 3.0.
- *
- * @return SecurityContext|null The security context
- */
- public function getSecurity()
- {
- @trigger_error('The '.__METHOD__.' method is deprecated since Symfony 2.6 and will be removed in 3.0.', E_USER_DEPRECATED);
- if ($this->container->has('security.context')) {
- return $this->container->get('security.context');
- }
- }
- /**
- * Returns the current user.
- *
- * @return mixed
- *
- * @see TokenInterface::getUser()
- */
- public function getUser()
- {
- if (!$this->container->has('security.token_storage')) {
- return;
- }
- $tokenStorage = $this->container->get('security.token_storage');
- if (!$token = $tokenStorage->getToken()) {
- return;
- }
- $user = $token->getUser();
- if (!\is_object($user)) {
- return;
- }
- return $user;
- }
- /**
- * Returns the current request.
- *
- * @return Request|null The HTTP request object
- */
- public function getRequest()
- {
- if ($this->container->has('request_stack')) {
- return $this->container->get('request_stack')->getCurrentRequest();
- }
- }
- /**
- * Returns the current session.
- *
- * @return Session|null The session
- */
- public function getSession()
- {
- if ($request = $this->getRequest()) {
- return $request->getSession();
- }
- }
- /**
- * Returns the current app environment.
- *
- * @return string The current environment string (e.g 'dev')
- */
- public function getEnvironment()
- {
- return $this->container->getParameter('kernel.environment');
- }
- /**
- * Returns the current app debug mode.
- *
- * @return bool The current debug mode
- */
- public function getDebug()
- {
- return (bool) $this->container->getParameter('kernel.debug');
- }
- }
|