我正在将一个BASE64编码的字符串传递给一个twig模板,我想要一个twig扩展名解码。
我用作曲家安装了twig,我没有使用任何其他框架,我发现的大部分扩展示例似乎都假设你是,而且我认为这给我带来了麻烦。我似乎无法找到我的分机。
所以我认为我有一个名称空间问题。我的设置:
root/
-index.php
-vendor/
-twig/
鉴于此设置,我应该在哪里放置扩展文件以及文件顶部应该有什么名称空间?加载它的正确方法是什么?
非常感谢提前!
答案 0 :(得分:0)
如果您的应用程序过于复杂,您只需在注册和加载Twig的位置添加扩展程序即可。
// index.php
require_once __DIR__ . '/vendor/autoload.php';
$loader = new Twig_Loader_Filesystem('/path/to/templates');
$twig = new Twig_Environment($loader, array(
'cache' => '/path/to/compilation_cache',
));
// an anonymous function:
$base64Decode = new Twig_Filter('base64_decode', function ($string) {
return base64_decode($string);
});
// or a simple PHP function:
$base64Decode = new Twig_Filter('base64_decode', 'base64_decode');
// add the function to your Twig environment:
$twig->addFilter($base64Decode);