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

How do I get rid of fatal error in Zend Framework 3 "getting started" tutorial?

我一直在努力完成 Zend Framework 3 的 "getting started" 教程。一切顺利,但是一旦我达到 "Forms and Actions",事情就停止了。

教程在这里:https://docs.zendframework.com/tutorials/getting-started/forms-and-actions/

这是我不断收到的错误:

Fatal error: Declaration of Zend\Form\Form::bindValues(array $values = Array) must be compatible with Zend\Form\Fieldset::bindValues(array $values = Array, ?array $validationGroup = NULL) in ...\zendtest\vendor\zendframework\zend-form\src\Form.php on line 24

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

我无法通过 Google 找到遇到同样问题的人,所以我一定是做错了什么,但我看不出是什么。

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

错误是由于子class方法bindValues”的定义不匹配引起的"Zend\Form\Form" 及其父级 "Zend\Form\Fieldset".

"Zend\Form\Fieldset" 的定义自版本 2.9.1(github link), but for "Zend\Form\Form" since release 2.11.0(github link) 以来已更改。

您可能安装了介于 >=2.9.1 和 < 2.11.0 之间的版本。 运行 在您的骨架根中进行 composer 更新 以获取 Zend 表单包的最新版本(当前为 2.11.0):

composer update

php /path/to/composer.phar update