$_POST и S_GET

Печать RSS
278

Автор
Чатланин
0
Bashka (1 Февраля 2012 / 21:05)
28. eGo Надежный Дядька, приведу абстрактный. Предположим есть функция с такой семантикой имя(строка а, число б, массив в, объект г) при этом предусловия требуют чтобы аргумент а не содержал точек, аргумент б был положительным, а аргумент в был не пустым массивом. Пишем функцию с предусловием:
<?php
function name($a, $b, array $c, object $d){
// предусловия
if(!is_string($a) || strpos('.', $a) !== false) throw new \Exception('...');
if(!is_integer($b) || $b < 0) throw new \Exception('...');
if(!count($c)) throw new \Exception('...');
// тело функции
...
}
?>
примерно так
твой пример для меняя по сложнее видима потому что никогда я не сталкивался
throw new Exception - это походу классы да?
Изменил: Don (01.02.2012 / 21:08)
А

Оранжевые штаны
0
А проверку гета и поста выношу в предусловия внешнего контролера (ну иль внутреннего, разницы нет)

Землянин
0
Bashka (1 Февраля 2012 / 21:05)
28. eGo Надежный Дядька, приведу абстрактный. Предположим есть функция с такой семантикой имя(строка а, число б, массив в, объект г) при этом предусловия требуют чтобы аргумент а не содержал точек, аргумент б был положительным, а аргумент в был не пустым массивом. Пишем функцию с предусловием:
<?php
function name($a, $b, array $c, object $d){
// предусловия
if(!is_string($a) || strpos('.', $a) !== false) throw new \Exception('...');
if(!is_integer($b) || $b < 0) throw new \Exception('...');
if(!count($c)) throw new \Exception('...');
// тело функции
...
}
?>
примерно так
А почему вы не используете для обработки try {} cath (){}
А

Оранжевые штаны
0
41. Suleiman, это исключение. Если оно вызывается, то программа убивается, а тебе выводится то, что в кавычках у него. Исключения можно еще перехватывать. Короче ошибку генерируешь. Если сложно, то можно по старинке ретурн ЛОЖЬ

Добавлено через 01:55 сек.
43. akawin, для обработки чего? Если в мою функцию передать неверные значения, она начинает убивать все, что ее вызвало. Пусть тот кто вызывает заботится об исключениях, а функция просто "воняет" при попытке передать ей мусор

Землянин
0
40. eGo Надежный Дядька, Эм... не уверен, его нет если нет данных, $_пост инициализируется только если что-то принято - механизм должен быть таким
А

Оранжевые штаны
0
Есть принцип Близости - Однотипные операции группировать поближе, чтоб их проще было читать. Вот и выношу все проверки в одно место, а не по всему файлу их )
K

Транклюкаторщик
0
45. akawin, а ты проверь.
<?php
var_dump(isset($_POST));
?>
Автор
Чатланин
0
Bashka (1 Февраля 2012 / 21:10)
41. Suleiman, это исключение. Если оно вызывается, то программа убивается, а тебе выводится то, что в кавычках у него. Исключения можно еще перехватывать. Короче ошибку генерируешь. Если сложно, то можно по старинке ретурн ЛОЖЬ

Добавлено через 01:55 сек.
43. akawin, для обработки чего? Если в мою функцию передать неверные значения, она начинает убивать все, что ее вызвало. Пусть тот кто вызывает заботится об исключениях, а функция просто "воняет" при попытке передать ей мусор
у тебя интересное и не одинарное решение)) надо будет взяться снова за учебник)) пункты подскажи что учить??))
Изменил: Don (01.02.2012 / 21:16)
K

Транклюкаторщик
0
Bashka, %)
не вывожу я твой код, не дорос наверное еще smile
Изменил: KOZZ (01.02.2012 / 21:15)
А

Оранжевые штаны
0
48. Suleiman, почитай про исключения. Они обычно в главах о ООП.
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск