2012-06-07 2 views
1

Я создаю приложение PHP с уровнем домена и уровнем отображения, и мне нужно решить, где проверить ввод пользователя. Большинство проверок будет выполнено против экземпляра Zend_Form. (В учебниках от Мэтью Виера О'Принни Я рассматриваю аспекты проверки Zend_Form как принадлежащие модели).PHP: проверка на уровне домена или на уровне карты?

Мне кажется, что эти два варианта:

  1. В слое домена при входе пользователя. Например, после new user($_POST) метод __construct() будет проверять $ _POST на входную форму
  2. На уровне карты при сохранении данных. Например, метод $userMapper->insert($user) бы проверить $ пользователя от формы ввода

Мой смысл состоит в том, что проверка должна быть обработана в области слоя, так как правила проверки часто приводятся в движение бизнес-правилами. Сказав это, я мог что-то упустить, и поскольку это принципиальное дизайнерское решение, я надеюсь на ваш вклад.

В дополнение к проверке модели у меня есть ограничения базы данных на заднем конце и я планирую проверку JS, чтобы улучшить работу пользователя!

Спасибо за ваш ввод !!!

+0

Я проверяю модель и недавно использовал методы набора для проверки ввода – gunnx

ответ

1

Я не вижу ничего действительно неправильного в том, чтобы делать некоторую проверку в модели домена, однако вы можете сделать себе плохую услугу.
Если вы начинаете создавать большее количество доменных моделей, вы, вероятно, снова и снова будете переписывать один и тот же код проверки. Это может привести к тому, что модель обслуживания предоставит вам валидацию.
Таким образом, когда вы добавляете модели домена, вы просто передаете данные через службу проверки, и вы можете добавлять и удалять валидаторы в одном месте для всех ваших моделей. Вы также можете обнаружить, что некоторые из валидаторов, которые уже предоставляет ZF, достаточно.

только мое мнение ... Удачи

Смежные вопросы