Symfony 2 Twig расширение - PullRequest
       2

Symfony 2 Twig расширение

2 голосов
/ 22 февраля 2012

Я хочу добавить свою собственную функциональность веток и добавить новое расширение веток в Symfony 2.

Для этого я создал следующие папки: src / Ptracker / TasksBundle / Twig и src / Ptracker / TasksBundle / Twig/ Расширение и поместите в него файл 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 Ответ

2 голосов
/ 22 февраля 2012

Имена файлов чувствительны к регистру в linux, и он ничего не находит, потому что пытается загрузить ../MyTwigExtension.php. Переименуйте ваш файл в MyTwigExtension.php.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...