Перейти к содержанию
chukcha

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

Рекомендуемые сообщения

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);
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

Я бы понял

validate($str, 'email')

validate($str, 'ip')

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

 

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.