![]() 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/vendor/magento/framework/Validator/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\Validator; use Magento\Framework\Module\Dir\Reader; use Magento\Framework\ObjectManagerInterface; use Magento\Framework\Phrase; use Magento\Framework\Translate\Adapter; use Magento\Framework\Validator; use Magento\Framework\Cache\FrontendInterface; /** * Factory for \Magento\Framework\Validator and \Magento\Framework\Validator\Builder. */ class Factory { /** * cache key * * @deprecated * @see we don't recommend this approach anymore */ public const CACHE_KEY = __CLASS__; /** * @var ObjectManagerInterface */ protected $_objectManager; /** * Validator config files * * @var iterable|null */ protected $_configFiles = null; /** * @var bool */ private $isDefaultTranslatorInitialized = false; /** * @var Reader */ private $moduleReader; /** * Initialize dependencies * * @param ObjectManagerInterface $objectManager * @param Reader $moduleReader * @param FrontendInterface $cache @deprecated * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function __construct( ObjectManagerInterface $objectManager, Reader $moduleReader, FrontendInterface $cache ) { $this->_objectManager = $objectManager; $this->moduleReader = $moduleReader; } /** * Init cached list of validation files * * @return void */ protected function _initializeConfigList() { if (!$this->_configFiles) { $this->_configFiles = $this->moduleReader->getConfigurationFiles('validation.xml'); } } /** * Create and set default translator to \Magento\Framework\Validator\AbstractValidator. * * @return void * @throws \Zend_Translate_Exception */ protected function _initializeDefaultTranslator() { if (!$this->isDefaultTranslatorInitialized) { /** @var Adapter $translator */ $translator = $this->_objectManager->create(Adapter::class); AbstractValidator::setDefaultTranslator($translator); $this->isDefaultTranslatorInitialized = true; } } /** * Get validator config object. * * Will instantiate \Magento\Framework\Validator\Config * * @return Config * @throws \Zend_Translate_Exception */ public function getValidatorConfig() { $this->_initializeConfigList(); $this->_initializeDefaultTranslator(); return $this->_objectManager->create( Config::class, ['configFiles' => $this->_configFiles] ); } /** * Create validator builder instance based on entity and group. * * @param string $entityName * @param string $groupName * @param array|null $builderConfig * @return Builder * @throws \Zend_Translate_Exception */ public function createValidatorBuilder($entityName, $groupName, array $builderConfig = null) { $this->_initializeDefaultTranslator(); return $this->getValidatorConfig()->createValidatorBuilder($entityName, $groupName, $builderConfig); } /** * Create validator based on entity and group. * * @param string $entityName * @param string $groupName * @param array|null $builderConfig * @return Validator * @throws \Zend_Translate_Exception */ public function createValidator($entityName, $groupName, array $builderConfig = null) { $this->_initializeDefaultTranslator(); return $this->getValidatorConfig()->createValidator($entityName, $groupName, $builderConfig); } }