[ Index ]

PHP Cross Reference of Joomla 4.2.2 documentation

title

Body

[close]

/libraries/src/Service/Provider/ -> Console.php (source)

   1  <?php
   2  
   3  /**
   4   * Joomla! Content Management System
   5   *
   6   * @copyright   (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
   7   * @license     GNU General Public License version 2 or later; see LICENSE
   8   */
   9  
  10  namespace Joomla\CMS\Service\Provider;
  11  
  12  use Joomla\CMS\Console\CheckJoomlaUpdatesCommand;
  13  use Joomla\CMS\Console\ExtensionDiscoverCommand;
  14  use Joomla\CMS\Console\ExtensionDiscoverInstallCommand;
  15  use Joomla\CMS\Console\ExtensionDiscoverListCommand;
  16  use Joomla\CMS\Console\ExtensionInstallCommand;
  17  use Joomla\CMS\Console\ExtensionRemoveCommand;
  18  use Joomla\CMS\Console\ExtensionsListCommand;
  19  use Joomla\CMS\Console\FinderIndexCommand;
  20  use Joomla\CMS\Console\GetConfigurationCommand;
  21  use Joomla\CMS\Console\SessionGcCommand;
  22  use Joomla\CMS\Console\SessionMetadataGcCommand;
  23  use Joomla\CMS\Console\SetConfigurationCommand;
  24  use Joomla\CMS\Console\SiteDownCommand;
  25  use Joomla\CMS\Console\SiteUpCommand;
  26  use Joomla\CMS\Console\TasksListCommand;
  27  use Joomla\CMS\Console\TasksRunCommand;
  28  use Joomla\CMS\Console\TasksStateCommand;
  29  use Joomla\CMS\Console\UpdateCoreCommand;
  30  use Joomla\CMS\Session\MetadataManager;
  31  use Joomla\Database\Command\ExportCommand;
  32  use Joomla\Database\Command\ImportCommand;
  33  use Joomla\Database\DatabaseInterface;
  34  use Joomla\DI\Container;
  35  use Joomla\DI\ServiceProviderInterface;
  36  
  37  // phpcs:disable PSR1.Files.SideEffects
  38  \defined('JPATH_PLATFORM') or die;
  39  // phpcs:enable PSR1.Files.SideEffects
  40  
  41  /**
  42   * Service provider for the application's console services
  43   *
  44   * @since  4.0.0
  45   */
  46  class Console implements ServiceProviderInterface
  47  {
  48      /**
  49       * Registers the service provider with a DI container.
  50       *
  51       * @param   Container  $container  The DI container.
  52       *
  53       * @return  void
  54       *
  55       * @since   4.0.0
  56       */
  57      public function register(Container $container)
  58      {
  59          $container->share(
  60              SessionGcCommand::class,
  61              function (Container $container) {
  62                  /*
  63                   * The command will need the same session handler that web apps use to run correctly,
  64                   * since this is based on an option we need to inject the container
  65                   */
  66                  $command = new SessionGcCommand();
  67                  $command->setContainer($container);
  68  
  69                  return $command;
  70              },
  71              true
  72          );
  73  
  74          $container->share(
  75              SessionMetadataGcCommand::class,
  76              function (Container $container) {
  77                  return new SessionMetadataGcCommand($container->get('session'), $container->get(MetadataManager::class));
  78              },
  79              true
  80          );
  81  
  82          $container->share(
  83              ExportCommand::class,
  84              function (Container $container) {
  85                  return new ExportCommand($container->get('db'));
  86              },
  87              true
  88          );
  89  
  90          $container->share(
  91              ImportCommand::class,
  92              function (Container $container) {
  93                  return new ImportCommand($container->get('db'));
  94              },
  95              true
  96          );
  97  
  98          $container->share(
  99              SiteDownCommand::class,
 100              function (Container $container) {
 101                  return new SiteDownCommand();
 102              },
 103              true
 104          );
 105  
 106          $container->share(
 107              SiteUpCommand::class,
 108              function (Container $container) {
 109                  return new SiteUpCommand();
 110              },
 111              true
 112          );
 113  
 114          $container->share(
 115              SetConfigurationCommand::class,
 116              function (Container $container) {
 117                  return new SetConfigurationCommand();
 118              },
 119              true
 120          );
 121  
 122          $container->share(
 123              GetConfigurationCommand::class,
 124              function (Container $container) {
 125                  return new GetConfigurationCommand();
 126              },
 127              true
 128          );
 129  
 130          $container->share(
 131              ExtensionsListCommand::class,
 132              function (Container $container) {
 133                  return new ExtensionsListCommand($container->get('db'));
 134              },
 135              true
 136          );
 137  
 138          $container->share(
 139              CheckJoomlaUpdatesCommand::class,
 140              function (Container $container) {
 141                  return new CheckJoomlaUpdatesCommand();
 142              },
 143              true
 144          );
 145  
 146          $container->share(
 147              ExtensionRemoveCommand::class,
 148              function (Container $container) {
 149                  return new ExtensionRemoveCommand($container->get(DatabaseInterface::class));
 150              },
 151              true
 152          );
 153  
 154          $container->share(
 155              ExtensionInstallCommand::class,
 156              function (Container $container) {
 157                  return new ExtensionInstallCommand();
 158              },
 159              true
 160          );
 161  
 162          $container->share(
 163              ExtensionDiscoverCommand::class,
 164              function (Container $container) {
 165                  return new ExtensionDiscoverCommand();
 166              },
 167              true
 168          );
 169  
 170          $container->share(
 171              ExtensionDiscoverInstallCommand::class,
 172              function (Container $container) {
 173                  return new ExtensionDiscoverInstallCommand($container->get('db'));
 174              },
 175              true
 176          );
 177  
 178          $container->share(
 179              ExtensionDiscoverListCommand::class,
 180              function (Container $container) {
 181                  return new ExtensionDiscoverListCommand($container->get('db'));
 182              },
 183              true
 184          );
 185  
 186          $container->share(
 187              UpdateCoreCommand::class,
 188              function (Container $container) {
 189                  return new UpdateCoreCommand($container->get('db'));
 190              },
 191              true
 192          );
 193  
 194          $container->share(
 195              FinderIndexCommand::class,
 196              function (Container $container) {
 197                  return new FinderIndexCommand($container->get('db'));
 198              },
 199              true
 200          );
 201  
 202          $container->share(
 203              TasksListCommand::class,
 204              function (Container $container) {
 205                  return new TasksListCommand();
 206              },
 207              true
 208          );
 209  
 210          $container->share(
 211              TasksRunCommand::class,
 212              function (Container $container) {
 213                  return new TasksRunCommand();
 214              }
 215          );
 216  
 217          $container->share(
 218              TasksStateCommand::class,
 219              function (Container $container) {
 220                  return new TasksStateCommand();
 221              }
 222          );
 223      }
 224  }


Generated: Wed Sep 7 05:41:13 2022 Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer