You are here

interface BareHtmlPageRendererInterface in Drupal 8

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Render/BareHtmlPageRendererInterface.php \Drupal\Core\Render\BareHtmlPageRendererInterface

Bare HTML page renderer.

By "bare HTML page", we mean that the following hooks that allow for "normal" pages are not invoked:

Examples of bare HTML pages are:

i.e. use this when rendering HTML pages in limited environments. Otherwise, use a

_controller;

route, and return a render array. This will cause a main content renderer (\Drupal\Core\Render\MainContent\MainContentRendererInterface) to be used, and in case of a HTML request that will be \Drupal\Core\Render\MainContent\HtmlRenderer.

In fact, this is not only *typically* used in a limited environment, it even *must* be used in a limited environment: when using the bare HTML page renderer, use as little state/additional services as possible, because the same safeguards aren't present (precisely because this is intended to be used in a limited environment).

Currently, there are two types of bare pages available:

Hierarchy

Expanded class hierarchy of BareHtmlPageRendererInterface

All classes that implement BareHtmlPageRendererInterface

See also

\Drupal\Core\Render\MainContent\HtmlRenderer

2 files declare their use of BareHtmlPageRendererInterface
DbUpdateController.php in core/modules/system/src/Controller/DbUpdateController.php
MaintenanceModeSubscriber.php in core/lib/Drupal/Core/EventSubscriber/MaintenanceModeSubscriber.php

File

core/lib/Drupal/Core/Render/BareHtmlPageRendererInterface.php, line 42

Namespace

Drupal\Core\Render
View source
interface BareHtmlPageRendererInterface {

  /**
   * Renders a bare page.
   *
   * @param array $content
   *   The main content to render in the 'content' region.
   * @param string $title
   *   The title for this maintenance page.
   * @param string $page_theme_property
   *   The #theme property to set on #type 'page'.
   * @param array $page_additions
   *   Additional regions to add to the page. May also be used to pass the
   *   #show_messages property for #type 'page'.
   *
   * @return \Drupal\Core\Render\HtmlResponse
   *   The rendered HTML response, ready to be sent.
   */
  public function renderBarePage(array $content, $title, $page_theme_property, array $page_additions = []);

}

Members