Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
UpToDateData.php
Go to the documentation of this file.
1 <?php
7 declare(strict_types=1);
8 
10 
13 
18 {
22  private $patchHistory;
23 
27  private $patchReader;
28 
32  private $patchBackwardCompatability;
33 
37  private $moduleList;
38 
46  public function __construct(
47  PatchHistory $patchHistory,
48  PatchReader $dataPatchReader,
49  PatchBackwardCompatability $patchBackwardCompatability,
50  ModuleList $moduleList
51  ) {
52  $this->patchHistory = $patchHistory;
53  $this->patchReader = $dataPatchReader;
54  $this->patchBackwardCompatability = $patchBackwardCompatability;
55  $this->moduleList = $moduleList;
56  }
57 
61  public function getNotUpToDateMessage() : string
62  {
63  return 'Data patches are not up to date';
64  }
65 
69  public function isUpToDate() : bool
70  {
71  foreach ($this->moduleList->getNames() as $moduleName) {
72  foreach ($this->patchReader->read($moduleName) as $patchName) {
73  if (!$this->patchBackwardCompatability->isSkipableByDataSetupVersion($patchName, $moduleName) &&
74  !$this->patchHistory->isApplied($patchName)) {
75  return false;
76  }
77  }
78  }
79 
80  return true;
81  }
82 }
__construct(PatchHistory $patchHistory, PatchReader $dataPatchReader, PatchBackwardCompatability $patchBackwardCompatability, ModuleList $moduleList)