Symfony 2, ServiceNotFoundException, несуществующий сервис «templating.engine.php»

1

используя команду: c:\Bitnami\wampstack-5.5.30-0\sym_prog\xshare> php app/console debug: container -vv

Я получаю сообщение об ошибке:

  [Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException]
  The service "makerlabs.templating.helper.pager" has a dependency on a non-existent service "templating.engine.php".

Я следую примеру: http://sourceforge.net/p/p5chi-xshare/wiki/Lesson%202:%20Project%20and%20Data%20base%20structure/

Файл "C:\Bitnami\wampstack-5.5.30-0\sym_prog\xshare\src\MakerLabs\PagerBundle\Resources\config\services.xml" имеет строки:

<service id="makerlabs.templating.helper.pager" class="%makerlabs.templating.helper.pager.class%">
    <tag name="templating.helper" alias="pager" />
    <argument type="service" id="templating.engine.php" />
    <argument type="service" id="router" />

Файл "C:\Bitnami\wampstack-5.5.30-0\sym_prog\xshare\vendor\symfony\symfony\src\Symfony\Bundle\FrameworkBundle\Resources\config\templating_php.xml" имеет строки, в которых эта служба определена:

<services>
    <service id="templating.engine.php" class="%templating.engine.php.class%" public="false">
        <argument type="service" id="templating.name_parser" />
        <argument type="service" id="service_container" />
        <argument type="service" id="templating.loader" />
        <argument type="service" id="templating.globals" />
        <call method="setCharset"><argument>%kernel.charset%</argument></call>
    </service>

Таким образом, я не понимаю, почему symfony2 жалуется, что сервис не найден? Как исправить эту ошибку?


Я удалил Bundle makerlabs, из-за ошибки я не смог перечислить службы. Затем я перечислил службы с командой: c:\Bitnami\wampstack-5.5.30-0\sym_prog\xshare> php app/console debug: container> "C:\Bitnami\wampstack-5.5.30-0\sym_prog\xshare\out.txt"

Сервис "templating.engine.php" не существует среди перечисленных служб. Как загрузить его? Существующие услуги:

 templating                                                         Symfony\Bundle\TwigBundle\TwigEngine                                                       
 templating.filename_parser                                         Symfony\Bundle\FrameworkBundle\Templating\TemplateFilenameParser                           
 templating.helper.assets                                           Symfony\Bundle\FrameworkBundle\Templating\Helper\AssetsHelper                              
 templating.helper.logout_url                                       Symfony\Bundle\SecurityBundle\Templating\Helper\LogoutUrlHelper                            
 templating.helper.router                                           Symfony\Bundle\FrameworkBundle\Templating\Helper\RouterHelper                              
 templating.helper.security                                         Symfony\Bundle\SecurityBundle\Templating\Helper\SecurityHelper                             
 templating.loader                                                  Symfony\Bundle\FrameworkBundle\Templating\Loader\FilesystemLoader                          
 templating.name_parser                                             Symfony\Bundle\FrameworkBundle\Templating\TemplateNameParser                               
 test.client   
  • 0
    Добавьте php в framework.templating.engines в вашем app/config/config.yml .
  • 0
    Спасибо. Я добавил 'php' к шаблонам: engine: ['twig', 'php']. Чем я переместил маклерлабс назад. Ошибки не отображаются!
Показать ещё 2 комментария
Теги:
service

1 ответ

1

Решение в соответствии с "qooplmao" должно добавить "php" в C:\Bitnami\wampstack-5.5.30-0\sym_prog\todoapp\app\config\config.yml

framework:
...
    templating:
        engines: ['twig', 'php']

Оно работает. Ошибка не появляется. Но если кто-то пытается перечислить сервисы: c:\Bitnami\wampstack-5.5.30-0\sym_prog\xshare> php app/console debug: container> "C:\Bitnami\wampstack-5.5.30-0\sym_prog\xshare\out.txt"

Сервис "templating.engine.php" не указан.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню