Zend Framework 2 – Проверка пользовательской формы

Мне нужна была проверка правильности формы. Поэтому я написал функцию, подобную этой .

Все идет нормально. Но у меня действительно есть проблемы, где поставить PHP-файл / класс.

Предполагалось, что он будет поставлен под вендор / как lib, который кажется логичным. Я использовал этот путь: vendor / company / Validator / MyValidator.php. Но я не мог понять, как включить мой класс.

Может ли кто-нибудь дать мне краткую инструкцию по настройке модуля поставщика или что-то еще, что необходимо для использования специального валидатора?

В Интернете много учебников, но большинство из них касается логики валидации, а не «основы» для Zend.

Благодаря!

Редактировать:

Я нашел эту ссылку и настроил свой код следующим образом:

Мой код выглядит следующим образом:

use MyStuff\Validator\CustomValidator as CustomValidator; ... $inputFilter->add($factory->createInput(array( 'name' => 'zip', 'required' => false, 'filters' => array( array('name' => 'Int'), ), 'validators' => array( array( 'name' => array( new CustomValidator ), 'options' => array( 'min' => 1, ), ), ), ))); ... 

Когда я пытаюсь отправить форму, я вижу часть кода валидаторов как обычный текст и получаю фатальную ошибку, что класс не может быть найден …

Теперь я буду предполагать структуру каталогов.

Имя поставщика: MyStuff

FQCN: MyStuff\Validator\AwesomeValidator;

FilePath: ./vendor/mystuff/library/MyStuff/Validator/AwesomeValidator

Учитывая, что Zend Framework 2 следует за стандартом PSR-0 для автозагрузки, вам нужно будет добавить путь автозагрузчика к автозагрузчикам вашего поставщика. ZF2 использует Composer для обработки автозагрузки. Когда вы устанавливаете свой СОБСТВЕННЫЙ поставщик через Composer, это делается автоматически. Если вам нужно это вручную, вы делаете это внутри composer.json

 "autoload": { "psr-0": { "Mystuff\\": "vendor/mystuff/library/" } } 

Надеюсь, это даст вам достаточно возможностей для работы.

Альтернативой использованию композитора является более ручной подход, который может избежать вашей проблемы с включением. Комментарии на этой странице могут быть полезны, чтобы показать вам, где их вручную поместить: http://framework.zend.com/manual/2.0/en/modules/zend.validator.writing-validators.html