Symfony 2 Twig 扩展

标签 symfony twig

我想添加我自己的 twig 功能并在 Symfony 2 中添加新的 twig 扩展。

为此,我创建了这些文件夹: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 :

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

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

请帮助我:)

最佳答案

文件名在 Linux 上区分大小写,但找不到任何内容,因为它尝试加载 ../MyTwigExtension.php。将文件重命名为 MyTwigExtension.php

关于Symfony 2 Twig 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9394337/

相关文章:

symfony - Twig 从 Yaml 文件写入

symfony - 夹具的依赖注入(inject)

Symfony 2 无法使用 Composer 安装教义

symfony - 带有 webpack-encore : Cannot read property 'Constructor' of undefined 的 ekko-lightbox

Symfony2 : Auto htmlentities using Twig

javascript - 详细条件提交preventDefault

mysql - 交响乐 3.4 : how to log the history of user actions?

php - Symfony 2.6 登录随机失败

php - Symfony2 Twig Asset Base_Url 是不可预测的吗?

symfony - 在 Symfony2 表单输入中设置带有翻译的占位符属性