2013-10-03 7 views
0

Я Buiding приложение на Symfony2 и нужен новый прут фильтр:Symfony2 Twig расширение RuntimeException

Я создал папку Twig в моей пачке и создал там этот файл AppExtension.php:

namespace App\MyBundle\Twig; 

use Twig_Extension; 
use Twig_Filter_Method; 

class AppExtension extends \Twig_Extension 
{ 
    public function getFilters() 
    { 
     return array(
      'left' => new \Twig_Filter_Method($this, 'leftFilter'), 
     ); 
    } 

    public function leftFilter($string, $start = 0, $length = 1) 
    { 
     $left = substr($string, $start, $length); 
     return $left; 
    } 

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

а потом я заявил в services.yml:

app.twig.app_extension: 
    class: App\MyBundle\Twig\AppExtension 
    tags: 
     - { name: twig.extension } 

Но я получаю эту RuntimeException:

Предполагаемый класс автозагрузчика «Приложение \ MyBundle \ Twig \ AppExtension» будет определен в файле «.../src/\ App \ MyBundle \ Twig \ AppExtension.php». Файл был найден, но класс не был в нем, имя класса или пространство имен, вероятно, имеет опечатку.

Может кто-нибудь, пожалуйста, сообщите мне, что я пропустил здесь?

+3

Вы уверены, что в вашем «пространстве имен» нет шрифта * (исправлено при публикации) *? Вы также можете попробовать очистить кеш-память Symfony и APC-кеш, если у вас есть. – Touki

+0

Здравствуйте и спасибо за помощь. Я проверил и перепроверял раньше, и теперь вы говорите, что я проверил и снова проверил - это так, как есть. –

+0

Я очистил кеш, удалив содержимое папок кэша (кеш команды: clear показывает ту же ошибку) Должна быть ошибка, но я не могу ее увидеть! –

ответ

1

Использовать <php? вместо <?.

Это решит проблему.

Смежные вопросы