- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Коллеги, прошу помочь избавить от одной навязчивой привычки.
Пишу проект на PHP. Есть много функций, много классов. В каждой функции проверяю параметры переданные в нее. Например в одном из методов класса проверяю параметры так:
function abc($client_id = null, $email = null) {
if(!$client_id || $client_id != intval($client_id))
return false;
if(!$email || !is_string($email))
return false;
}
Все бы хорошо, но проверки под час становятся громоздкими, тем более когда много параметров.
К тому же если я создаю класс, то в конструкторе уже какие-то свойства класса проверяются и вроде бы этого должно быть достаточно, но нет же... Первый же вызов метода из конструктора и меня опять клонит в этом методе все переменные перепроверить.... А вдруг в конструкторе не проверилось?
Пипец! Не могу ничего поделать с собой. В итоге, пока выполниться дохлый скриптик пройдет миллион проверок на вшивость.
Какую себе дать установку? Где проверять, где нет?
Помогите, пож-та. Уже третий день сижу пишу класс из 5 вшивых функций. Не могу определиться как сделать?!!! Хелп!
Можно небольшой оффтоп?
Что это?
ну это будет означать что $client_id это число
Дописал:
if(!$client_id || $client_id != intval($client_id))
сработает, если $client_id ноль или не число
Госпади, is_int(), ну и для справки is_numeric()
Напиши, плиз, как бы ты сделал проверку, если ожидаешь получить целое положительное число большее нуля.
И какую проверку делаешь в реальных боевых условиях? Всегда ли проверяешь, или руководствуешься какими-то правилами, в зависимости от ситуации, и примеры если можно.
А если в функцию передается массив параметров, некоторые конкретные члены которого нужно проверить на целое положительное число?
intval($arr['key'])>0
Попробуйте тогда так
$a['key'] = array('4');
if(intval($a['key']) > 0)
print('ok');
Напишет, что ок, а не нужно.
В общем, вопрос не в этом... Когда проверять переменные в функции, на сколько подробно? Вот в чем вопрос ))
Попробуйте тогда так
$a = array('4');
print(intval($a)); // Покажет 1
В общем, вопрос не в этом... Когда проверять переменные в функции, на сколько подробно? Вот в чем вопрос ))
Еще бы
$a = array('4');
print(intval($a[0]));
Проверять всегда. Особенно если данные идут от пользователя, максимально подробно. Но без перфекционизма.
Я несколько запутался.
был вопрос, как проверить член массива, на предмет того, является ли он числом большим нуля и целым.
Ты написал
intval($arr['key'])>0
Но, если член массива сделать равным другому массиву, например array('4'), т.е. не числом в помине, а массивом, любым, то твоя проверка покажет единицу. Т.е. пройдет проверка. Но вопрос был, как проверить член массива на предмет того, является ли он числом целым, большим нуля.