Комментарии

Метод save () из модели в CMS Joomla 2.5
( 1 Проголосовало )

Метод save () из класса JModelForm высвечивает ряд важных аспектов сохранения информации в базе данных. Когда элемент веб-ссылки сохраняется после ввода или редактирования, вызывается метод save() из класса JControllerForm, являющегося родительским для класса WeblinksControllerWeblink. Ниже приведен исходный код этого метода.

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

$form =  $model->getForm($data, false); (!$form) { $app->enqueueMessage($model->getError(), 'error'); false; }
//  проверить достоверность данных $validData = $model->validate($form, $data);

В этом методе получается экземпляр объекта класса JForm с помощью метода getForm (), более подробно рассматриваемого в предыдущей статье. В последней, выделенной полужирным строке кода из модели вызывается метод validate (). Этот метод находится в классе JModelForm. Напомним, что рассматриваемая здесь модель реализована в классе WeblinksModelWeblink, расширяющем класс JModelAdmin, который, в свою очередь, расширяет класс JModelForm. А поскольку в этом и родительском классах отсутствует метод validate (), то он вызывается из класса JModelForm, следующего вверх по иерархии наследования.

Метод validate () содержит следующий фрагмент кода:

$data = $form->filter($data); $return =  $form->validate($data);

Рассмотрим этот фрагмент кода более подробно, поскольку он очень важен для понимания рассматриваемого здесь процесса сохранения данных. В первой строке этого фрагмента кода вызывается метод filter () из класса JForm. Фильтрация данных служит для защиты базы данных от записи в нее зловредной информации, например, со стороны злоумышленника. В качестве примера такой фильтрации можно привести требование, чтобы адрес электронной почты содержал только строковые символы.

Во второй строке кода вызывается метод validate () из класса JForm. Проверка достоверности позволяет выяснить, насколько данные в поле значимы для этого поля. Например, для проверки достоверности адреса электронной почты необходимо убедиться в том, что в нем после ряда символов следует знак @, а за ним — имя домена.

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


Понравился материал? Пригодилась информация? Плюсани в социалки!


 
Похожие новости