2015-08-29 2 views
0

Я довольно новичок в структуре Symfony, когда я пытался создать форму, основанную на инструкциях по кулинарной книге, я столкнулся с странной ошибкой. Когда я отслеживал инструмент отладки SF, я обнаружил, что есть класс, который реализует два интерфейса, оба имеют один и тот же метод. на основе вопроса this, я думаю, что это конфликт. Я прав?Конфликт Symfony в реализации интерфейса?

ошибка:

Compile Error: Can't inherit abstract function Symfony\Component\Validator\ValidatorInterface::validate() (previously declared abstract in Symfony\Component\Validator\Validator\ValidatorInterface)

первого интерфейс:

vendor\symfony\symfony\src\Symfony\Component\Validator\Validator\ValidatorInterface.php

vendor\symfony\symfony\src\Symfony\Component\Validator\ValidatorInterface.php

класса, реализующих их:

vendor\symfony\symfony\src\Symfony\Component\Validator\Validator\RecursiveValidator.php

+0

Если бы вы прочитали какой-либо комментарий или ответ на этот вопрос, вы бы знали, что это действительно возможно с PHP-5.3.9. –

ответ

0

Независимо от того, что устаревшего ссылочного ответа, реализующего два интерфейса с одинаковой сигнатурой valid since PHP-5.3.9:

Prior to PHP 5.3.9, a class could not implement two interfaces that specified a method with the same name, since it would cause ambiguity. More recent versions of PHP allow this as long as the duplicate methods have the same signature.

Даже не думайте об осуществлении чего-либо против dead PHP version.

+0

Я использую php 5.5.12, поэтому я не должен сталкиваться с такими ошибками, но проблема все еще существует. Я сделал изменения в ядре SF, и ошибка исчезла! Должен ли я менять свой php? –

+0

Не могли бы вы извлечь суть этой проблемы и показать нам на https://3v4l.org, что эта проблема действительно существует в PHP-5.5.12? –

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