FibersTestExtension.php

Namespace

Drupal\twig_fibers_test\TwigExtension

File

core/modules/system/tests/modules/twig_fibers_test/src/TwigExtension/FibersTestExtension.php

View source
<?php

declare (strict_types=1);
namespace Drupal\twig_fibers_test\TwigExtension;

use Twig\Extension\AbstractExtension;
use Twig\TwigFunction;

/**
 * Custom Twig extension that suspends a fiber.
 */
class FibersTestExtension extends AbstractExtension {
  
  /**
   * {@inheritdoc}
   */
  public function getFunctions() : array {
    return [
      new TwigFunction('fibers_test_function', [
        $this,
        'fibersTestFunction',
      ]),
    ];
  }
  
  /**
   * Custom Twig function that calls Fiber::suspend().
   *
   * @param string $message
   *   The message to return.
   *
   * @return string
   *   The processed message.
   */
  public function fibersTestFunction(string $message) : string {
    \Fiber::suspend();
    return 'Fibers test: ' . $message;
  }

}

Classes

Title Deprecated Summary
FibersTestExtension Custom Twig extension that suspends a fiber.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.