Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Protected Member Functions
Xml Class Reference
Inheritance diagram for Xml:
ParserInterface

Public Member Functions

 parse (array $options)
 

Protected Member Functions

 checkOptions ($options)
 
 extractModuleName ($config)
 
 getModuleConfig ($file)
 
 prepareModuleName ($name)
 

Detailed Description

Config xml parser

Definition at line 13 of file Xml.php.

Member Function Documentation

◆ checkOptions()

checkOptions (   $options)
protected

Template method. Check passed options step

Parameters
array$options
Returns
void
Exceptions

Definition at line 39 of file Xml.php.

40  {
41  if (!isset(
42  $options['files_for_parse']
43  ) || !is_array(
44  $options['files_for_parse']
45  ) || !$options['files_for_parse']
46  ) {
47  throw new \InvalidArgumentException('Parse error: Option "files_for_parse" is wrong.');
48  }
49  }

◆ extractModuleName()

extractModuleName (   $config)
protected

Template method. Extract module step

Parameters
\SimpleXMLElement$config
Returns
string

Definition at line 57 of file Xml.php.

58  {
59  return $this->prepareModuleName((string)$config->attributes()->name);
60  }
$config
Definition: fraud_order.php:17

◆ getModuleConfig()

getModuleConfig (   $file)
protected

Template method. Load module config step

Parameters
string$file
Returns
\SimpleXMLElement

Definition at line 68 of file Xml.php.

69  {
70  return \simplexml_load_file($file)->xpath('/config/module')[0];
71  }

◆ parse()

parse ( array  $options)

Template method. Main algorithm

{Parse files

Parameters
array$options
Returns
array
}

Implements ParserInterface.

Definition at line 20 of file Xml.php.

21  {
22  $this->checkOptions($options);
23 
24  $modules = [];
25  foreach ($options['files_for_parse'] as $file) {
26  $config = $this->getModuleConfig($file);
27  $modules[] = $this->extractModuleName($config);
28  }
29  return $modules;
30  }
$config
Definition: fraud_order.php:17

◆ prepareModuleName()

prepareModuleName (   $name)
protected

Prepare module name

Parameters
string$name
Returns
string

Definition at line 79 of file Xml.php.

80  {
81  return str_replace('_', '\\', $name);
82  }
if(!isset($_GET['name'])) $name
Definition: log.php:14

The documentation for this class was generated from the following file: