Creating and using Twig functions

Code
<?php

// creating a hash twig function as Extension
class MyTwigFunctions extends Twig_Extension
{
    public function 
getName()
    {
        return 
'MyFunctions';
    }
    
    public function 
getFunctions()
    {
        return [
            new 
Twig_SimpleFunction('hash', [$this'myHash']),
        ];
    }
    
    public function 
myHash($value)
    {
        return 
hash('crc32'$value);
    }
}

$path __DIR__ '/templates/';
$file 'hash.html.twig';

echo 
'- template content:' PHP_EOL;
echo 
file_get_contents($path $file) . PHP_EOL;

$loader = new Twig_Loader_Filesystem($path);
$twig = new Twig_Environment($loader);
$twig->addExtension(new MyTwigFunctions());

echo 
'- rendered template:' PHP_EOL;
echo 
$twig->render($file);
Result
- template content:
My hash: {{ hash("test") }}
- rendered template:
My hash: accf8b33
Used Versions
PHP 7.1, Zend 3.0, Symfony 3.2, Laravel 5.2, PHPUnit 5.6, Doctrine 2.6