layout()

Sets a layout definition, or loads a layout file, or executes a layout function.

Table of Contents
  1. Description
  2. Example

Description

layout(array $keys, array $lot = []): ?string;
layout(string $key, array $lot = []): ?string;
layout(array $keys, callable|string $value): void;
layout(string $key, callable|string $value): void;

This function sets a layout definition, or loads a layout file, or executes a layout function.

Example

layout('header', '.\path\to\layout.php');

// >= 2.1.0
layout('nav', static function (string $key, array $lot = []): ?string {
    if ($lot['show'] ?? true) {
        return '<nav>…</nav>';
    }
    return null;
});
<body>
  <?= layout('header'); ?>
  <?= layout('nav', ['show' => true]); ?>
  <main>
    <?php if ($page->exist): ?>
      <h2>
        <?= $page->title; ?>
      </h2>
      <p>
        <?= $page->description; ?>
      </p>
      <?php foreach ($pages as $page): ?>
        <article>
          <h3>
            <?= $page->title; ?>
          </h3>
          <p>
            <?= $page->description; ?>
          </p>
        </article>
      <?php endforeach; ?>
    <?php endif; ?>
  </main>
  <?= layout('footer'); ?>
</body>

layout()

Sets a layout definition, or loads a layout file, or executes a layout function.