component_schema-1.0.x-dev/src/ComponentSchema.php

src/ComponentSchema.php
<?php

namespace Drupal\component_schema;

/**
 * Component Schema factory class.
 *
 * @package Drupal\component_schema
 */
class ComponentSchema {

  /**
   * Gets component processor instance.
   *
   * @return \Drupal\component_schema\ComponentProcessor
   *   Component Schema processor instance.
   */
  public static function getProcessor() {
    return \Drupal::service('component_schema.processor');
  }

  /**
   * Gets typed component manager instance.
   *
   * @return \Drupal\component_schema\Component\TypedComponentManager
   *   Component Schema processor instance.
   */
  public static function getTypedManager() {
    return \Drupal::service('component_schema.typed');
  }

  /**
   * Get component schema.
   *
   * @param string $component_type
   *   Component type ID.
   * @param array $variables
   *   (optional) An array of variable data.
   *
   * @return \Drupal\Core\TypedData\TraversableTypedDataInterface|NULL
   *   Component schema instance or NULL if none.
   */
  public static function getComponentSchema($component_type, $variables = []) {
    $typed_component_manager = \Drupal::service('component_schema.typed');
    $component_definitions = $typed_component_manager->getComponentDefinitions();
    if (array_key_exists($component_type, $component_definitions)) {
      return $typed_component_manager->createFromNameAndData($component_type, $variables);
    }
    return NULL;
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc