如何摆脱Zend Framework 3"入门"教程中的致命错误?

Bry*_*sen 3 php forms zend-framework3

我一直试图通过Zend Framework 3的"入门"教程.它一直很顺利,但是一旦我进入"表单和操作",事情就会停止工作.

教程如下:https://docs.zendframework.com/tutorials/getting-started/forms-and-actions/

这是我不断得到的错误:

致命错误:Zend\Form\Form :: bindValues(array $ values = Array)的声明必须与Zend\Form\Fieldset :: bindValues(array $ values = Array,?array $ validationGroup = NULL)兼容...第24行\ zendtest\vendor\zendframework\zend-form\src\Form.php

我在创建了AlbumForm.php之后得到了这个,在Album.php中实现了InputFilterAwareInterface,创建了add.phtml视图脚本并在AlbumController.php中复制了所需的逻辑.从教程中复制了所有内容.

我无法通过谷歌找到任何有同样问题的人,所以我一定做错了什么,但我看不出它是什么.

有没有人知道我可能做错了什么?

Jan*_*tis 6

该错误是由子类"Zend\Form\Form"与其父"Zend\Form\Fieldset "之间的方法 " bindValues " 的定义不匹配引起的.

自版本2.9.1(github链接)以来,"Zend\Form\Fieldset"的定义已更改,但自版本2.11.0(github链接)以来,"Zend\Form\Form"的定义已更改.

您可能已在这些版本> = 2.9.1和<2.11.0之间安装了一个版本.在骨架根目录中运行composer update以获取Zend表单包的最新版本(目前为2.11.0):

composer update
Run Code Online (Sandbox Code Playgroud)

要么

php /path/to/composer.phar update
Run Code Online (Sandbox Code Playgroud)