Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

моя не понимать чужих мыслей


chukcha

Recommended Posts

class ocStore {
	private $config;
	private $db;
	private $data = array();
	
		public function validate($string="", $filter="2") {
			$filters["1"] = FILTER_VALIDATE_INT;
			$filters["2"] = FILTER_VALIDATE_EMAIL;
			$filters["3"] = FILTER_VALIDATE_URL;
			$filters["0"] = FILTER_VALIDATE_BOOLEAN;

			$res = filter_var($string, $filters["".$filter.""]);

			return($res);
		}
}

Может кто объяснить необходимостью в $filters[]

 

Чего проще и прозрачней

public function validate($string="", $filter="FILTER_VALIDATE_EMAIL") {
//http://php.net/manual/ru/filter.filters.validate.php
			$res = filter_var($string, $filter);

			return($res);
		}

Если уж человек по какой-то причине долез до этого кода, то ссылка на первоисточник достаточно

в крайнем случае - в комментах перечислить популярные

//FILTER_VALIDATE_EMAIL;
//FILTER_VALIDATE_INT;
//FILTER_VALIDATE_FLOAT
//FILTER_VALIDATE_BOOLEAN;
//FILTER_VALIDATE_URL;
//FILTER_VALIDATE_IP

public function validate($string="", $filter="FILTER_VALIDATE_EMAIL") {
//http://php.net/manual/ru/filter.filters.validate.php
//FILTER_VALIDATE_EMAIL;
//FILTER_VALIDATE_INT;
//FILTER_VALIDATE_FLOAT
//FILTER_VALIDATE_BOOLEAN;
//FILTER_VALIDATE_URL;
//FILTER_VALIDATE_IP
		$res = filter_var($string, $filter);
		return($res);
}
Надіслати
Поділитися на інших сайтах

Это идет от "истории" разработки.

Подозреваю вначале у разработчика была одна архитектура, потом он её поменял, и кое где остался старый код (обычно при изменении архитектуры "дырки" в коде меняются быстро (чтобы работало), а потом забываются))...

Такое часто бывает.

Надіслати
Поділитися на інших сайтах

  • 3 weeks later...

это было для замены маразматических проверок корректности email регулярками, которые то тут, то там, при использовании нестандартных/коротких почтовых сервисов (типа i.ua) / адресов, приходилось редактировать.

цифры вместо строковых значений используются для сокращения кода + не надо запоминать конструкции "FILTER_VALIDATE_*" (впрочем, кроме проверки email, там особо ничего не планировалось в ближ.время; оставили остальное для будущего).

Надіслати
Поділитися на інших сайтах

Необходимость понятна.

 

не надо запоминать конструкции "FILTER_VALIDATE_*"

 

Ага, проще написать ничего не значащее 2 для email

Я бы понял

validate($str, 'email')

validate($str, 'ip')

Надіслати
Поділитися на інших сайтах

>> Я бы понял...

возможно ты прав.

но в тот момент был такой код и его взяли "as is".

 

Иногда для "тестирования" разработчик вставляет код "проверки" (ну влом заводить новые функции скроллить за "тело" где находиться код и т.п.) прямо в теле без вызова функций (работает то) и потом... просто забывает.

Главное работает :)

Такой код можно найти у всех.

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.