![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/setup/src/Magento/Setup/Module/Dependency/Report/Writer/Csv/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Setup\Module\Dependency\Report\Writer\Csv; use Magento\Setup\Module\Dependency\Report\Data\ConfigInterface; use Magento\Setup\Module\Dependency\Report\WriterInterface; /** * Abstract csv file writer for reports */ abstract class AbstractWriter implements WriterInterface { /** * Csv write object * * @var \Magento\Framework\File\Csv */ protected $writer; /** * Writer constructor * * @param \Magento\Framework\File\Csv $writer */ public function __construct($writer) { $this->writer = $writer; } /** * Template method. Main algorithm * * {@inheritdoc} */ public function write(array $options, ConfigInterface $config) { $this->checkOptions($options); $this->writeToFile($options['report_filename'], $this->prepareData($config)); } /** * Template method. Check passed options step * * @param array $options * @return void * @throws \InvalidArgumentException */ protected function checkOptions($options) { if (!isset($options['report_filename']) || empty($options['report_filename'])) { throw new \InvalidArgumentException('Writing error: Passed option "report_filename" is wrong.'); } } /** * Template method. Prepare data step * * @param \Magento\Setup\Module\Dependency\Report\Data\ConfigInterface $config * @return array */ abstract protected function prepareData($config); /** * Template method. Write to file step * * @param string $filename * @param array $data * @return void */ protected function writeToFile($filename, $data) { $this->writer->saveData($filename, $data); } }