SYMFONY4: «Примечание: неопределенная переменная: parentClass» - PullRequest
1 голос
/ 20 сентября 2019

У меня появляется это сообщение об ошибке, когда я пытаюсь перейти на страницу, которая вызывает сущность.(Например, страница контактов или страница статей)

«Примечание: неопределенная переменная: parentClass», который ссылается на этот файл vendor \ doctrine \ persistence \ lib \ Doctrine \ Common \ Persistence \ AbstractManagerRegistry.php строка 176

public function getManagerForClass($class)
{
    // Check for namespace alias
    if (strpos($class, ':') !== false) {
        [$namespaceAlias, $simpleClassName] = explode(':', $class, 2);
        $class                              = $this->getAliasNamespace($namespaceAlias) . '\\' . $simpleClassName;
    }
    $proxyClass = new ReflectionClass($class);
    if ($proxyClass->implementsInterface($this->proxyInterfaceName)) {
        $parentClass = $proxyClass->getParentClass();
        if (! $parentClass) {
            return null;
        }
    }
        $class = $parentClass->getName();
    foreach ($this->managers as $id) {
        $manager = $this->getService($id);
        if (! $manager->getMetadataFactory()->isTransient($class)) {
            return $manager;
        }
    }
}

Я действительно не знаю, что делать.Если у кого-то появилась идея или уже была эта ошибка :)

Спасибо!

Ответы [ 2 ]

1 голос
/ 20 сентября 2019

Ваш правильно с отступом код выглядит следующим образом:

$proxyClass = new ReflectionClass($class);
if ($proxyClass->implementsInterface($this->proxyInterfaceName)) {
    $parentClass = $proxyClass->getParentClass();
    if (! $parentClass) {
        return null;
    }
}
$class = $parentClass->getName();

сейчас, в случае, если $proxyClass->implementsInterface(...) равно FALSE, не определено $parentClass, следовательно, сообщение об ошибке.

, поскольку кажется, что код в доктрине, возможно, это ошибка.Возможно, это было исправлено, и вы по какой-то причине используете старую версию.возможно обновить?

в текущей версии строка находится внутри блока if

0 голосов
/ 20 сентября 2019

вы абсолютно правы, я не знаю, почему $class = $parentClass->getName(); выбыл из «если», проблема была именно в этом!Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...