23 private $objectManager;
30 private $dataSetupFactory;
42 $this->objectManager = $objectManagerProvider->
get();
43 $this->dataSetupFactory = $dataSetupFactory;
52 public function collectUninstall($filterModules = [])
56 $setup = $this->dataSetupFactory->create();
57 $result =
$setup->getConnection()->select()->from(
$setup->getTable(
'setup_module'), [
'module']);
58 if (isset($filterModules) &&
sizeof($filterModules) > 0) {
59 $result->where(
'module in( ? )', $filterModules);
63 $uninstallClassName = str_replace(
'_',
'\\',
$row[
'module']) .
'\Setup\Uninstall';
65 $uninstallClass = $this->objectManager->create($uninstallClassName);
67 $uninstallList[
$row[
'module']] = $uninstallClass;
72 return $uninstallList;
is_subclass_of($obj, $className)
__construct(ObjectManagerProvider $objectManagerProvider, DataSetupFactory $dataSetupFactory)