我需要将我的自定义Zend验证器位置保存为“Zend/Validate”吗?我宁愿为我的所有自定义验证脚本创建一个文件夹,但除了更改命名空间外,在Zend文档中找不到任何内容。Zend验证器位置
这是我的错误消息。
“插件的名字‘UserNameValidate’没有在注册表中找到;使用路径:Zend_Validate_:Zend公司/验证/”
我想告诉它来搜索其他路径。
我需要将我的自定义Zend验证器位置保存为“Zend/Validate”吗?我宁愿为我的所有自定义验证脚本创建一个文件夹,但除了更改命名空间外,在Zend文档中找不到任何内容。Zend验证器位置
这是我的错误消息。
“插件的名字‘UserNameValidate’没有在注册表中找到;使用路径:Zend_Validate_:Zend公司/验证/”
我想告诉它来搜索其他路径。
我能够使用
addElementPrefixPath('Application_Validate',
'../application/validate',
'validate');
您是否检查过API文档? Zend_Validate中有APPLICATION_PATH/validators
的addDefaultNamespaces方法...
public static function addDefaultNamespaces($namespace){
我通常把我的自定义验证(例如My_Validate_Age
)命名的,例如。在这种情况下,PHP文件将是:APPLICATION_PATH/validators/Age.php
。有了这个设置,我需要将验证器路径添加到Zend_Autoloader。为此在Bootstrap.php我有:
protected function _initAutoload() {
$autoLoader = Zend_Loader_Autoloader::getInstance();
$resourceLoader = new Zend_Loader_Autoloader_Resource(array(
'basePath' => APPLICATION_PATH,
'namespace' => '',
));
$resourceLoader->addResourceType('validate', 'validators/', 'My_Validate_');
$autoLoader->pushAutoloader($resourceLoader);
}
希望这会对你有帮助。
我的印象是,改变了名称空间允许您将类的前缀从“Zend_Validate的”更改为其他下,而不是位置来解决我的问题。 addDefaultNamespaces只有一个参数,这使我相信我的假设是真实的? – 2011-02-09 04:44:40