среда, 8 сентября 2010 г.

Организация Модели: Валидация данных.

Введение

Эта статья является продолжением рассуждений на тему  организации модели и посвящена организации процесса валидации данных. И не смотря на то, что практическая часть выполнена на Zend Framework, приведенные рассуждения в равной степени могут быть применены к любому фреймворку и даже платформе.

Большинство данных поступает в модель из внешнего мира, через html-формы, различные сервисы, почту и т.д. При этом, всегда необходимо производить валидацию и фильтрацию этих данных, т.к. они не надежные.

Например, при поступлении данных из html-форм  в Zend Framework'е удобно использовать компонент Zend_Form. Это мощный компонент, позволяющий структурировать данные, производить гибкую фильтрацию и валидацию данных, а так же имеет механизмы вывода, включая вывод ошибок валидации.

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

Избежать дублирования можно, если перенести всю проверку данных в Модель. Таким образом, мы всегда сможем гарантировать, что Модель корректна, даже если данные поступают не из пользовательских форм.

вторник, 7 сентября 2010 г.

Организация Модели в Zend Framework

Введение

Этой статьей я хочу начать небольшой цикл заметок и мыслей об организации модели  в Zend Framework. Тем более что сам фреймворк мало что предлагает в решении этого вопроса. Как говорят разработчики фреймворка: Модель - это то что вы должны реализовать сами, это ваша работа.

Возникают вопросы, а как реализовывать модель, как это сделать правильно? Единого ответа нет, т.к. Модель слишком специфична и реализовывать ее можно по разному, и зависит это от множества факторов.

В то же время, умные люди систематизировали и обобщили различные подходы, которые они изложили в типовых решениях -  паттернах.