annotate vendor/chi-teck/drupal-code-generator/templates/d8/service/twig-extension.twig @ 5:12f9dff5fda9 tip

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:34:47 +0100
parents a9cd425dd02b
children
rev   line source
Chris@5 1 {% import 'lib/di.twig' as di %}
Chris@0 2 <?php
Chris@0 3
Chris@0 4 namespace Drupal\{{ machine_name }};
Chris@0 5
Chris@5 6 {% if services %}
Chris@5 7 {{ di.use(services) }}
Chris@4 8 {% endif %}
Chris@0 9 /**
Chris@0 10 * Twig extension.
Chris@0 11 */
Chris@0 12 class {{ class }} extends \Twig_Extension {
Chris@0 13
Chris@5 14 {% if services %}
Chris@5 15 {{ di.properties(services) }}
Chris@4 16
Chris@4 17 /**
Chris@5 18 * Constructs a new {{ class }} object.
Chris@4 19 *
Chris@5 20 {{ di.annotation(services) }}
Chris@4 21 */
Chris@5 22 public function __construct({{ di.signature(services) }}) {
Chris@5 23 {{ di.assignment(services) }}
Chris@0 24 }
Chris@0 25
Chris@4 26 {% endif %}
Chris@0 27 /**
Chris@0 28 * {@inheritdoc}
Chris@0 29 */
Chris@0 30 public function getFunctions() {
Chris@0 31 return [
Chris@0 32 new \Twig_SimpleFunction('foo', function ($argument = NULL) {
Chris@0 33 return 'Foo: ' . $argument;
Chris@0 34 }),
Chris@0 35 ];
Chris@0 36 }
Chris@0 37
Chris@0 38 /**
Chris@0 39 * {@inheritdoc}
Chris@0 40 */
Chris@0 41 public function getFilters() {
Chris@0 42 return [
Chris@0 43 new \Twig_SimpleFilter('bar', function ($text) {
Chris@0 44 return str_replace('bar', 'BAR', $text);
Chris@0 45 }),
Chris@0 46 ];
Chris@0 47 }
Chris@0 48
Chris@0 49 /**
Chris@0 50 * {@inheritdoc}
Chris@0 51 */
Chris@0 52 public function getTests() {
Chris@0 53 return [
Chris@0 54 new \Twig_SimpleTest('color', function ($text) {
Chris@0 55 return preg_match('/^#(?:[0-9a-f]{3}){1,2}$/i', $text);
Chris@0 56 }),
Chris@0 57 ];
Chris@0 58 }
Chris@0 59
Chris@0 60 }