You are hereБлоги / Ёж's blog / Seagull - Получение переменных запроса

Seagull - Получение переменных запроса


Ёж 02 June 2009

Seagull поощряет разработчиков добросовестно управлять получением запрашиваемых переменных.

Все данные, введённые пользователем - будут ассоциированы с объектом $input.

Безусловно - введённые данные необходимо подвергнуть валидации. Функция валидации validate() имеет два аргумента - the request object and the input object (т.е. объект запроса и объект ввода), которые передаются в функцию. И таким образом можно сразу же проверить наличие запрашиваемых переменных и ассоциировать их с объектом ввода ($input object), и после этого введённые значения будут доступны на протяжении всего того времени, пока это будет нужно фреймворку.

- Request object - это инкапсуляция данных ассоциативного массива $_REQUEST. Напомню, $_REQUEST содержит данные HTTP-запроса - то есть данные переменных $_GET, $_POST и $_COOKIE

- Input object служит для регистрации данных и ресурсов, которые работают в режиме запрос/ответ (request/response cycle).

- Вы поставляете объект ввода в свои action methods (методы, осуществляющие действия), которые, после обработки и осуществления действий, выполняемых соответствующим методом, ассоциируются с объектом вывода (output object).

Вобщем - всё работает очень просто. Данные собираются из запроса, и после проверки валидации отправляются в action methods, инициализируясь через параметр action в запросе. Если валидация не проходит - другими словами, если свойство $validated устанавливается в FALSE, тогда App Controller отправляет данные запроса прямо в функцию display, игнорируя всё остальное.

Это и побудило нас написать функцию валидации данным образом:

function validate($req, &$input)
    {
        $this->validated = true;
        $input->action   = $req->get('action');
    }

Ёж

]]>]]>
ССылки

RSS-материал