-1

如何使用 zend-form 视图助手?

这样做... 如何使用 zend-form 视图助手?

结果,有关已弃用的类配置的消息在 此处输入图像描述

我究竟做错了什么?

4

1 回答 1

1

看看这个https://github.com/zendframework/zend-expressive/issues/335

这是我的工厂的样子:

public function __invoke(ContainerInterface $container)
    {
        $config = $container->has('config') ? $container->get('config') : [];
        $config = isset($config['view_helpers']) ? $config['view_helpers'] : [];
        $manager = new HelperPluginManager($container, $config);

        return $manager;
    }

更新:

由于我不清楚,让我们再试一次。

正如您从 github 上的帖子中看到的那样,为了删除有关已弃用类的消息,您需要创建一个config/autoload/zend-form.global.php包含以下内容的文件:

<?php
use Zend\Form\ConfigProvider;

$provider = new ConfigProvider();
return $provider();

这样做消除了从您正在创建的工厂中将 zend-form 视图帮助程序配置添加到服务管理器的需要。
意义线

$formConfig = new FormHelperConfig();
$formConfig->configureServiceManager($manager);

不再需要。

此外,不推荐使用方法setServiceLocatorHelperPluginManager因此您更改以下两行:

$manager = new HelperPluginManager(new Config($config));
$manager->setServiceLocator($container);

一行:

$manager = new HelperPluginManager($container, $config);

结果,您的__invoke函数将如下所示:

public function __invoke(ContainerInterface $container)
{
    $config = $container->has('config') ? $container->get('config') : [];
    $config = isset($config['view_helpers']) ? $config['view_helpers'] : [];
    $manager = new HelperPluginManager($container, $config);

    return $manager;
}

您在视图模板中使用视图助手。在这里您可以找到所有 zend-form 视图助手的列表以及示例。

我希望这能让事情变得更清楚,因为我不擅长解释事情。

于 2016-05-26T22:13:52.817 回答