vendor/symfony/framework-bundle/Command/ContainerAwareCommand.php line 18

Open in your IDE?
  1. <?php
  2. /*
  3.  * This file is part of the Symfony package.
  4.  *
  5.  * (c) Fabien Potencier <fabien@symfony.com>
  6.  *
  7.  * For the full copyright and license information, please view the LICENSE
  8.  * file that was distributed with this source code.
  9.  */
  10. namespace Symfony\Bundle\FrameworkBundle\Command;
  11. use Symfony\Component\Console\Command\Command;
  12. use Symfony\Component\DependencyInjection\ContainerAwareInterface;
  13. use Symfony\Component\DependencyInjection\ContainerInterface;
  14. @trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.2, use "%s" with dependency injection instead.'ContainerAwareCommand::class, Command::class), \E_USER_DEPRECATED);
  15. /**
  16.  * Command.
  17.  *
  18.  * @author Fabien Potencier <fabien@symfony.com>
  19.  *
  20.  * @deprecated since Symfony 4.2, use {@see Command} instead.
  21.  */
  22. abstract class ContainerAwareCommand extends Command implements ContainerAwareInterface
  23. {
  24.     /**
  25.      * @var ContainerInterface|null
  26.      */
  27.     private $container;
  28.     /**
  29.      * @return ContainerInterface
  30.      *
  31.      * @throws \LogicException
  32.      */
  33.     protected function getContainer()
  34.     {
  35.         if (null === $this->container) {
  36.             $application $this->getApplication();
  37.             if (null === $application) {
  38.                 throw new \LogicException('The container cannot be retrieved as the application instance is not yet set.');
  39.             }
  40.             $this->container $application->getKernel()->getContainer();
  41.         }
  42.         return $this->container;
  43.     }
  44.     /**
  45.      * {@inheritdoc}
  46.      */
  47.     public function setContainer(ContainerInterface $container null)
  48.     {
  49.         $this->container $container;
  50.     }
  51. }