Итак, у меня есть этот веб-сайт, который использует ezPublish (который сам основан на Symfony 2.8).
Для простоты у меня есть один файл BinaryContent.php
, который содержит класс BinaryContent
, расположенный по адресу:
/vendor/ezsystems/ezpublish-kernel/eZ/Publish/Core/REST/Server/Controller
, где /
— корень проекта (который содержит папки app/
, src/
, web/
и т. д.).
Я намерен изменить BinaryContent.php
, чтобы реализовать мою собственную логику в данном методе. Таким образом, я решил переопределить этот файл, расширив пакет.
Следовательно:
- Я попытался расширить пакет согласно документации Symfony, но там четко указано, что:
#P6#
Я уже знаю, что это не так.
- Я нашел в
services.yml
этого пакета, что этот класс зарегистрирован как сервис:
ezpublish_rest.controller.binary_content: class: "%ezpublish_rest.controller.binary_content.class%" parent: ezpublish_rest.controller.base arguments: - "@ezpublish.fieldType.ezimage.variation_service"
вместе с
parameters: ezpublish_rest.controller.binary_content.class: eZ\Publish\Core\REST\Server\Controller\BinaryContent
Поэтому я безуспешно пытался зарегистрировать ту же службу в своем собственном классе. При посещении приложения мой собственный файл BinaryContent.php
не выполняется (я намеренно оставил ошибку разбора, чтобы было понятно).
Что я должен делать?
Согласно комментарий iainn, вот как я пытаюсь переопределить сервис.
В моем файле services.yml
:
ezpublish_rest.controller.binary_content: class: Smile\CoreBundle\Core\REST\Server\Controller\BinaryContent parent: ezpublish_rest.controller.base arguments: - "@ezpublish.fieldType.ezimage.variation_service"
Мой пользовательский пакет приложений называется после EzPublishCoreBundle
в AppKernel.php
.
Вот определение класса BinaryContent
:
<?php
namespace Smile\CoreBundle\Core\REST\Server\Controller;
use eZ\Publish\Core\REST\Server\Controller\BinaryContent as BaseController;
class BinaryContent extends BaseController {}
ezpublish_rest.controller.binary_content.class
с помощью пути моего класса в моем собственном файлеparameters.yml
, но безрезультатно. Ошибка синтаксического анализа не возникает. Мой пакет называется после стороннего, который я пытаюсь переопределить вAppKernel.php
. - person D4V1D   schedule 30.11.2017