Symfony 2 Twig扩展

时间:2012-02-22 11:59:44

标签: symfony twig

我想添加自己的树枝功能,并在Symfony 2中添加新的树枝扩展名。

为此我创建了这些文件夹:src / Ptracker / TasksBundle / Twig和src / Ptracker / TasksBundle / Twig / Extension并将文件myTwigExtension.php放入其中:

<?php
namespace Ptracker\TasksBundle\Twig\Extension;

class MyTwigExtension extends \Twig_Extension {

public function getFilters() {
    return array(
        'var_dump'   => new \Twig_Filter_Function('var_dump'),
        'linkable'  => new \Twig_Filter_Method($this, 'linkable'),
    );
}

public function linkable($sentence, $expr) {
    return 'it works!!';
}

public function getName()
{
    return 'my_twig_extension';
}

}
?>

我还在src / Ptracker / TasksBundle / Resources / config / services.yml中添加了一些代码:

services:
   ptracker.twig.extension:
      class: Ptracker\TasksBundle\Twig\Extension\MyTwigExtension
      tags:
        -  { name: twig.extension }

重点是我总是得到同样的致命错误:

Fatal error: Class 'Ptracker\TasksBundle\Twig\Extension\MyTwigExtension' not found in /home/renat/www/ptracker/app/cache/dev/appDevDebugProjectContainer.php on line 1092 

我做错了什么?我花了好几个来解决这个问题,尝试将扩展文件放在不同的文件夹中,更改了命名空间..没有任何帮助。

请帮帮我:)。

1 个答案:

答案 0 :(得分:2)

文件名在linux上区分大小写,但由于尝试加载../MyTwigExtension.php,因此无法找到任何内容。将您的文件重命名为MyTwigExtension.php