* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShopBundle\Install; use NullLogger; use PrestaShopLoggerInterface; abstract class AbstractInstall { /** * @var LanguageList */ public $language; /** * @var \PrestaShopBundle\Translation\Translator */ public $translator; /** * @var array List of errors */ protected $errors = []; /** * @var PrestaShopLoggerInterface */ protected $logger; public function __construct() { $this->language = LanguageList::getInstance(); } public function setError($errors) { if (!is_array($errors)) { $errors = [$errors]; } $this->errors = array_merge($this->errors, $errors); } public function getErrors() { return $this->errors; } public function setTranslator($translator) { $this->translator = $translator; return $this; } /** * @return PrestaShopLoggerInterface; */ public function getLogger(): PrestaShopLoggerInterface { if (null === $this->logger) { $this->logger = new NullLogger(); } return $this->logger; } /** * @param PrestaShopLoggerInterface $logger */ public function setLogger(PrestaShopLoggerInterface $logger): void { $this->logger = $logger; } }