bb60df005db26bd073e20869357e7e7dc7784a5e
[yaffs-website] / web / core / lib / Drupal / Core / Layout / LayoutInterface.php
1 <?php
2
3 namespace Drupal\Core\Layout;
4
5 use Drupal\Component\Plugin\DerivativeInspectionInterface;
6 use Drupal\Component\Plugin\PluginInspectionInterface;
7 use Drupal\Component\Plugin\ConfigurablePluginInterface;
8
9 /**
10  * Provides an interface for static Layout plugins.
11  *
12  * @internal
13  *   The layout system is currently experimental and should only be leveraged by
14  *   experimental modules and development releases of contributed modules.
15  *   See https://www.drupal.org/core/experimental for more information.
16  */
17 interface LayoutInterface extends PluginInspectionInterface, DerivativeInspectionInterface, ConfigurablePluginInterface {
18
19   /**
20    * Build a render array for layout with regions.
21    *
22    * @param array $regions
23    *   An associative array keyed by region name, containing render arrays
24    *   representing the content that should be placed in each region.
25    *
26    * @return array
27    *   Render array for the layout with regions.
28    */
29   public function build(array $regions);
30
31   /**
32    * {@inheritdoc}
33    *
34    * @return \Drupal\Core\Layout\LayoutDefinition
35    */
36   public function getPluginDefinition();
37
38 }