查看ZF2表单上的任何基本示例,我有如下所示:
In Controller (任何基本教程示例)
$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
/**
* 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应用程序中使用它们。
发布于 2016-02-23 03:28:46
由于您没有使用完整的应用程序,默认情况下,ViewPluginManager将不会被提供表单视图帮助程序的名称;因为它们使用的是Zend\Form\View命名空间。
如果您有“渲染工厂”,您可以轻松地用几行行注册丢失的服务。
$viewPluginManager = $render->getHelperPluginManager();
$formConfig = new \Zend\Form\View\HelperConfig();
$formConfig->configureServiceManager($viewPluginManager);
echo $render->form($this->form);https://stackoverflow.com/questions/35565531
复制相似问题