Zendにカスタムフォーム要素クラスを自動ロードさせることができません。私はMarcinがここで説明しているとおりに作業を行いました(ただし、クラスは「my」ではなく「Zend」で始まりますが、次のエラーが発生します。
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