Пользовательское расширение Twig для Symfony2 — класс не найден

У меня возникла проблема с добавлением расширения Twig. Я получаю следующую ошибку:

ClassNotFoundException in appDevDebugProjectContainer.php line 317:
Attempted to load class "AppExtension" from namespace "HouseBundle\Twig".
Did you forget a "use" statement for another namespace?

Мой код:

/Пользователи/Сайты/www/houses/src/housesBundle/Twig/AppExtension.php

<?php

namespace HouseBundle\Twig;

class AppExtension extends \Twig_Extension
{

    public function getFilters()
    {
        return array(new \Twig_SimpleFilter('price', array($this, 'priceFilter')),
    );


    public function priceFilter($number, $decimals = 0, $decPoint = '.', $thousandsSep = ',')
    {
        $price = number_format($number, $decimals, $decPoint, $thousandsSep);
        $price = '$'.$price;

        return $price;
    }

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

/Пользователи/Сайты/www/houses/app/config/services.yml

services:
    app.twig_extension:
        class: HouseBundle\Twig\AppExtension
        tags:
            - { name: twig.extension }

Любая помощь приветствуется.


person Neil Singh    schedule 24.02.2015    source источник
comment
У вас проблема, ваш класс завершается сразу после метода getFilters() (посмотрите на символ '}')   -  person BENARD Patrick    schedule 24.02.2015
comment
Извините, это была опечатка. Я исправил это.   -  person Neil Singh    schedule 24.02.2015
comment
Возможно, вам просто нужно очистить кеш.   -  person Broncha    schedule 24.02.2015


Ответы (1)


Учитывая этот путь к файлу:

/Users/Sites/www/anildave/houses/src/housesBundle/Twig/AppExtension.php

Вы используете неправильное пространство имен

namespace HouseBundle\Twig;

Должно быть

namespace housesBundle\Twig 

И

class: HouseBundle\Twig\AppExtension

Должно быть

class: housesBundle\Twig\AppExtension
person Tom Tom    schedule 24.02.2015
comment
Я не могу поверить, что пропустил это! Спасибо за твой он - person Neil Singh; 24.02.2015