Version 1
[yaffs-website] / web / core / lib / Drupal / Core / Layout / LayoutInterface.php
diff --git a/web/core/lib/Drupal/Core/Layout/LayoutInterface.php b/web/core/lib/Drupal/Core/Layout/LayoutInterface.php
new file mode 100644 (file)
index 0000000..bb60df0
--- /dev/null
@@ -0,0 +1,38 @@
+<?php
+
+namespace Drupal\Core\Layout;
+
+use Drupal\Component\Plugin\DerivativeInspectionInterface;
+use Drupal\Component\Plugin\PluginInspectionInterface;
+use Drupal\Component\Plugin\ConfigurablePluginInterface;
+
+/**
+ * Provides an interface for static Layout plugins.
+ *
+ * @internal
+ *   The layout system is currently experimental and should only be leveraged by
+ *   experimental modules and development releases of contributed modules.
+ *   See https://www.drupal.org/core/experimental for more information.
+ */
+interface LayoutInterface extends PluginInspectionInterface, DerivativeInspectionInterface, ConfigurablePluginInterface {
+
+  /**
+   * Build a render array for layout with regions.
+   *
+   * @param array $regions
+   *   An associative array keyed by region name, containing render arrays
+   *   representing the content that should be placed in each region.
+   *
+   * @return array
+   *   Render array for the layout with regions.
+   */
+  public function build(array $regions);
+
+  /**
+   * {@inheritdoc}
+   *
+   * @return \Drupal\Core\Layout\LayoutDefinition
+   */
+  public function getPluginDefinition();
+
+}