我无法让 Zend 自动加载自定义表单元素类。我完全按照 Marcin 在这里描述的那样做事(除了我的课程以 'Zend' 而不是 'my' 开头,但我收到了这个错误:
Warning: include_once(Zend\Form\Element\Div.php) [function.include-once]: failed to open stream: No such file or directory
我有Zend_Form_Element_Div
里面forms\elements\
和Zend_View_Helper_FormDiv
里面views\helpers\
基本上,错误消息中的每个文件夹都缺少一个's',正确的路径是Zend\Forms\Elements\Div.php
我的引导程序中也有这个,虽然我不确定是否有必要,但我也将它用于我的表单和模型文件夹(以及其他一些,但我认为不需要全部发布):
<?php
$resourceLoader->addResourceTypes(array(
'model' => array(
'namespace' => 'Model',
'path' => 'models'
),
'element' => array(
'namespace' => 'Element',
'path' => 'elements'
),
'form' => array(
'namespace' => 'Form',
'path' => 'forms'
)
));
?>
(实际上还有其他方法可以自动加载吗?而不是声明每个文件夹?)
更新:
- 在 application/forms/elements/Div.php 中的 Element_Div
- 在我的表单 init() 方法中:
$this->addElementPrefixPath('Element_', APPLICATION_PATH . '/forms/elements');
- 我得到的错误:
Fatal error: Class 'Element_Div' not found in C:\xampplite\htdocs\code\application\forms\PostForm.php on line 63