Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
GenerationDirectoryAccess.php
Go to the documentation of this file.
1 <?php
7 
12 use Zend\ServiceManager\ServiceManager;
14 
19 {
23  private $serviceManager;
24 
28  public function __construct(
29  ServiceManager $serviceManager
30  ) {
31  $this->serviceManager = $serviceManager;
32  }
33 
39  public function check()
40  {
41  $initParams = $this->serviceManager->get(InitParamListener::BOOTSTRAP_PARAM);
42  $filesystemDirPaths = isset($initParams[Bootstrap::INIT_PARAM_FILESYSTEM_DIR_PATHS])
44  : [];
45  $directoryList = new DirectoryList(BP, $filesystemDirPaths);
46  $driverPool = new DriverPool();
47  $fileWriteFactory = new WriteFactory($driverPool);
48 
49  $generationDirs = [
53  ];
54 
55  foreach ($generationDirs as $generationDirectory) {
56  $directoryPath = $directoryList->getPath($generationDirectory);
57  $directoryWrite = $fileWriteFactory->create($directoryPath);
58 
59  if (!$directoryWrite->isExist()) {
60  try {
61  $directoryWrite->create();
62  } catch (\Exception $e) {
63  return false;
64  }
65  }
66 
67  if (!$directoryWrite->isWritable()) {
68  return false;
69  }
70  }
71 
72  return true;
73  }
74 }
const BP
Definition: autoload.php:14