カスタム Zend フォーム フィルター クラスが読み込まれません。
カスタム フィルター クラスの名前はSF_Filter_AlnumDashesで、library/SF/Filter/AlnumDashes.php にあります。
"SF_" 名前空間の autoload を application.ini に設定しました。
autoloadernamespaces[] = "SF_"
しかし、Zend フォームの作成中にクラスをロードしようとすると、クラスが見つからないというエラーが表示されます: 致命的なエラー: クラス 'AlnumDashesUnderscore' が見つかりません...
Zend Form クラスでエラーを引き起こしているコードは次のとおりです。
class Admin_Form_Product_Generalinfo extends SF_Form_Abstract {
public function init() {
//set ID Attribute on the form element
$this->setAttrib('id', 'product_general_info');
$elementPrefixPaths = array(
array(
array(
'prefix' => 'SF_Filter',
'path' => 'SF/Filter/', // 'application/validators' in your case
'type' => 'filter',
)
)
);
$this->addElementPrefixPaths($elementPrefixPaths);
$this->addElement('text', 'title', array(
'filters' => array('StringTrim', 'StripTags'),
'validators' => array(
array('StringLength', true, array(2, 250)),
),
'required' => true,
'label' => 'Title',
'attribs' => array(
'id' => 'title',
'class' => 'inputbox'
)
));
$this->getElement('title')->addFilter(array(new AlnumDashesUnderscore(), array(1)));
}
「SF_」名前空間に他のクラスがあり、正常にロードされ、コントローラーから問題なく呼び出されます。