Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ModuleUninstall.php
Go to the documentation of this file.
1 <?php
7 
11 use Symfony\Component\Console\Output\OutputInterface;
12 
17 {
21  private $moduleUninstaller;
22 
26  private $moduleRegistryUninstaller;
27 
31  private $packageInfoFactory;
32 
40  public function __construct(
41  ModuleUninstaller $moduleUninstaller,
42  ModuleRegistryUninstaller $moduleRegistryUninstaller,
43  PackageInfoFactory $packageInfoFactory
44  ) {
45  $this->moduleUninstaller = $moduleUninstaller;
46  $this->moduleRegistryUninstaller = $moduleRegistryUninstaller;
47  $this->packageInfoFactory = $packageInfoFactory;
48  }
49 
58  public function uninstall(OutputInterface $output, $componentName, $dataOption)
59  {
60  $packageInfo = $this->packageInfoFactory->create();
61  // convert to module name
62  $moduleName = $packageInfo->getModuleName($componentName);
63  if ($dataOption) {
64  $this->moduleUninstaller->uninstallData($output, [$moduleName]);
65  }
66  $this->moduleRegistryUninstaller->removeModulesFromDb($output, [$moduleName]);
67  $this->moduleRegistryUninstaller->removeModulesFromDeploymentConfig($output, [$moduleName]);
68  }
69 }
uninstall(OutputInterface $output, $componentName, $dataOption)
__construct(ModuleUninstaller $moduleUninstaller, ModuleRegistryUninstaller $moduleRegistryUninstaller, PackageInfoFactory $packageInfoFactory)