php - 调用未定义的方法 Symfony\Component\DomCrawler\Crawler::rewind()

标签 php symfony yii2 domcrawler

我正在使用 Yii2 DynamicForms extension创建动态字段没有问题,但今天当我运行 Composer update 时收到以下错误:

调用未定义的方法 Symfony\Component\DomCrawler\Crawler::rewind()

错误指向 /vendor/wbraganca/yii2-dynamicform/DynamicFormWidget.php 的第 201 行:

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 中删除?
怎么解决这个问题?

最佳答案

另一种解决方案是将 DomCrawler 恢复到 2.8 版本。

{
    "symfony/dom-crawler": "2.8",
    "symfony/css-selector": "2.8",
    "wbraganca/yii2-dynamicform": "2.0.1"
}

摘自: https://github.com/wbraganca/yii2-dynamicform/issues/108

关于php - 调用未定义的方法 Symfony\Component\DomCrawler\Crawler::rewind(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34088638/

相关文章:

phpUnit 与 Symfony

javascript - Yii2 POST方法不显示 View

php - Yii2自定义errorHandler组件

php - 使用 jQuery AJAX 传递复选框数据

php - 在 Twig 模板引擎中打印子类别

php - 使用数组为 switch 语句动态生成 case

javascript - 使用未提交的表单关闭页面时询问确认

php - yii2 - Kartik 文件输入 - 更新

php - 为 JsonObject 设置标题

php - ZF2 - 如何在 columns() 中使用 SQL_CALC_FOUND_ROWS