Zend - плагин не найден в реестре - PullRequest
2 голосов
/ 23 марта 2012

Я искал это несколько часов, но тщетно ... У меня есть приложение Zend, и это два класса из него:

class Application_Form_Disciplines extends Zend_Form {

    public function init() {
      $this->addElementPrefixPath('My_Validate', '../library/validate', 'validate');
      ...
      $credits->addValidator('My_Validate_NumericBetween');
      ...
    }
}

class My_Validate_NumericBetween extends Zend_Validate_Abstract
{
    ...
}

Проблема в том, что когда я отправляю форму, я получаю "Плагин по имени 'My_Validate_NumericBetween' не найден в реестре; используемые пути: My_Validate_: ../library/validate/ Zend_Validate_: Zend / Validate /". Класс с именем «My_Validate_NumericBetween» находится в проекте / библиотеке / проверки. Я перепробовал много вещей, найденных в сети, но ничего не помогло.

Спасибо!

Ответы [ 3 ]

1 голос
/ 23 марта 2012

Попробуйте:

$this->addElementPrefixPath('My_Validate', APPLICATION_PATH . '/../library/validate', 'validate');
$credits->addValidator('NumericBetween');

Примечание : Типичная схема имени / файла класса PSR-0 будет иметь класс My_Validate_NumericBetween, сохраненный в файле library/My/Validate/NumericBetween.php, а не library/validate/NumericBetween.php (который, я полагаю, вы используете) .

0 голосов
/ 24 марта 2012

переименуйте файл в NumericBetween.php

имя класса должно оставаться My_Validate_NumericBetween

0 голосов
/ 23 марта 2012

Поместите это в Bootstrap.php, это сэкономит вам время и в будущем

Zend_Loader_Autoloader::getInstance()->registerNamespace('My_');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...