Version 1
[yaffs-website] / web / modules / contrib / devel / webprofiler / src / Config / ConfigFactoryWrapper.php
1 <?php
2
3 namespace Drupal\webprofiler\Config;
4
5 use Drupal\Core\Config\ConfigFactory;
6 use Drupal\webprofiler\DataCollector\ConfigDataCollector;
7
8 /**
9  * Wraps a config factory to be able to figure out all used config files.
10  */
11 class ConfigFactoryWrapper extends ConfigFactory {
12
13   /**
14    * @var \Drupal\webprofiler\DataCollector\ConfigDataCollector
15    */
16   private $dataCollector;
17
18   /**
19    * {@inheritdoc}
20    */
21   public function get($name) {
22     $result = parent::get($name);
23     $this->dataCollector->addConfigName($name);
24     return $result;
25   }
26
27   /**
28    * {@inheritdoc}
29    */
30   public function loadMultiple(array $names) {
31     $result = parent::loadMultiple($names);
32     foreach (array_keys($result) as $name) {
33       $this->dataCollector->addConfigName($name);
34     }
35     return $result;
36   }
37
38   /**
39    * @param \Drupal\webprofiler\DataCollector\ConfigDataCollector $dataCollector
40    */
41   public function setDataCollector(ConfigDataCollector $dataCollector) {
42     $this->dataCollector = $dataCollector;
43   }
44 }