Mercurial > hg > cmmr2012-drupal-site
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 } |