首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在我的ZF2应用程序中使用表单作为独立模块?

如何在我的ZF2应用程序中使用表单作为独立模块?
EN

Stack Overflow用户
提问于 2016-02-22 22:51:36
回答 1查看 147关注 0票数 0

查看ZF2表单上的任何基本示例,我有如下所示:

In Controller (任何基本教程示例)

代码语言:javascript
复制
    $username = new Element\Text('username');
    $username->setLabel('Username')->setAttributes(array(
        'class' => 'username',
        'size' => '30'
    ));

    $form = new Form('my-form');
    $form->add($username);
    return $this->partial("xxx.phtml", array(
        'form' => $form
    ));

In View

代码语言:javascript
复制
/**
 * inside view template
 *
 * @var \Zend\View\Renderer\PhpRenderer $this
 */
echo $this->form($this->form);

错误我得到

PHP致命错误:带有消息'Zend\View\HelperPluginManager::get无法在vendor\zendframework\zend-servicemanager\src\ServiceManager.php:557堆栈跟踪:#0 vendor\zendframework\zend-servicemanager\src\AbstractPluginManager.php(161):Zend\ServiceManager\ServiceManager->get('form',true)中获取或创建表单实例的未命名异常vendor\zendframework\zend-servicemanager\src\AbstractPluginManager.php(161):Zend\ServiceManager\ServiceManager->get(‘form’,(空) #2 vendor\zendframework\zend-view\src\Renderer\PhpRenderer.php(390):Zend\View\Renderer\PhpRenderer->plugin('form') #3 module\XXX\view\xxx\xxx.phtml(8):第557行vendor\zendframework\zend-servicemanager\src\ServiceManager.php中的Zend\View\Renderer

我怀疑一些基本的插件没有建立起来。也许即使是必须注册插件的服务也没有设置(ServiceManager)。

我能做些什么让ZF2表单在我的其他非ZF2应用程序中工作呢?

我的目的是使用ZF2表单组件构建表单,并在我的php应用程序中使用它们。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-23 03:28:46

由于您没有使用完整的应用程序,默认情况下,ViewPluginManager将不会被提供表单视图帮助程序的名称;因为它们使用的是Zend\Form\View命名空间。

如果您有“渲染工厂”,您可以轻松地用几行行注册丢失的服务。

代码语言:javascript
复制
$viewPluginManager = $render->getHelperPluginManager();

$formConfig = new \Zend\Form\View\HelperConfig();
$formConfig->configureServiceManager($viewPluginManager);

echo $render->form($this->form);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35565531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档