Веточка Граватар на Symfony 4 - PullRequest
0 голосов
/ 09 февраля 2020

Я новичок ie на Symfony, и у меня проблема с интеграцией пакета 'ry167 / twig-gravatar' в мой проект.

Сначала я сделал:

$ composer require ry167/twig-gravatar 3.0.0

И после того, как я изменил свой services.yaml , который выглядит следующим образом:

services:
    _defaults:
        autowire: true      # Automatically injects dependencies in your services.
        autoconfigure: true # Automatically registers your services as commands, event subscribers, etc.
App\:
    resource: '../src/*'
    exclude: '../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}'

App\Controller\:
    resource: '../src/Controller'
    tags: ['controller.service_arguments']

twig.extension.gravatar:
    class: \TwigGravatar
    arguments:
        $default: ~         e.g. 'monsterid'
        $size: ~            e.g. 50
        $filterPrefix: ~    e.g. 'foo'
        $rating: ~          e.g. 'x'
        $useHttps: true
    tags:
        - { name: twig.extension }

И, наконец, у меня есть это на мой взгляд:

<p>{{ 'example@example.com'|grAvatar }}</p>

Но я получил эту ошибку:

Invalid service " twig.extension.gravatar ": класс" Twig_Extension "не найден при загрузке" TwigGravatar "

Есть идеи? Я не могу понять, откуда моя проблема ...

1 Ответ

3 голосов
/ 10 февраля 2020

Вы, вероятно, используете Twig 3. *, который удаляет все классы PSR-0 (с подчеркиванием).

Следующая версия ry167/twig-gravatar устраняет проблему. Уже существует кандидат на выпуск .

Вариант 1. Ожидание следующего стабильного выпуска

Если вы хотите дождаться стабильного выпуска, временно добавьте conflict заблокируйте свой composer.json, чтобы использовать последнюю версию Twig до 3.0:

{
    ...
    "require": {
       ...
       "ry167/twig-gravatar": "^3.0.0",
       ... 
    },
    "conflict": {
        "twig/twig": ">=3.0"
    }
}

Запустите composer update впоследствии, чтобы Composer выполнил работу по выяснению зависимостей и понижению версии Twig.

Вы можете удалить conflict, когда выйдет версия 4.0, и вы изменили зависимость на ^4.0.0.

Опция 2: Используйте Release Candidate

Если вы хотите использовать Сразу после выхода новой версии вы должны сообщить composer, что с нестабильными версиями все в порядке, используя флаги стабильности .

composer require ry167/twig-gravatar "^4.0.0@RC"
...