Я использовал Yii2 DynamicForms extension создавать динамические поля без проблем, но сегодня, когда я запускаю обновление композитора я получаю следующее сообщение об ошибке:Вызова неопределенного метод Symfony Component DomCrawler Crawler :: перемотка назад()
Call to undefined method Symfony\Component\DomCrawler\Crawler::rewind()
ошибка указывает на линии 201 /vendor/wbraganca/yii2-dynamicform/DynamicFormWidget.php
:
private function removeItems($content)
{
$document = new \DOMDocument('1.0', \Yii::$app->charset);
$crawler = new Crawler();
$crawler->addHTMLContent($content, \Yii::$app->charset);
$root = $document->appendChild($document->createElement('_root'));
$crawler->rewind(); // Error here
$root->appendChild($document->importNode($crawler->current(), true));
$domxpath = new \DOMXPath($document);
$crawlerInverse = $domxpath->query(CssSelector::toXPath($this->widgetItem));
foreach ($crawlerInverse as $elementToRemove) {
$parent = $elementToRemove->parentNode;
$parent->removeChild($elementToRemove);
}
$crawler->clear();
$crawler->add($document);
return $crawler->filter('body')->eq(0)->html();
}
Этот метод был удален из DomCrawler?
Как это решить?
Почему не вы подаете ошибку в связке? –
Привет. Поскольку создатель больше не поддерживает расширение. – jflizandro
У вас есть что-то еще. Crawler - это компонент Symfony, о чем свидетельствует ваше сообщение об ошибке. Crawler расширяет SplObjectStorage, который реализует метод перемотки. Какую версию Symfony 2 вы обновляете? Возможно, проверьте поставщика/symfony /.../ Crawler, чтобы быть уверенным, что ничего загадочного не произошло. Полагаю, вы могли бы даже проверить расширение на всякий случай, если автор сделал что-то действительно сумасшедшее, как полностью заменить искателя. Но все это кажется довольно странным. – Cerad