decorated = $decorated; $this->hook = $hook; } /** * {@inheritdoc} */ public function getDefinitions() { $definitions = $this->decorated->getDefinitions(); foreach (\Drupal::moduleHandler()->getImplementations($this->hook) as $module) { $function = $module . '_' . $this->hook; $function($definitions); } return $definitions; } /** * Passes through all unknown calls onto the decorated object. */ public function __call($method, $args) { return call_user_func_array([$this->decorated, $method], $args); } }