усовершенствование конструкции класса - проверка пользователей


Я ищу, чтобы улучшить этот класс - любые предложения? Он проверяет пустыми, имя, адрес электронной почты и пароль. Регулярное выражение для электронной почты очень проста. Весьма пространная статья из журнала Линукс для улучшения это здесь. Набор символов для пароля я позаимствовал со страницы регистрации НАСА. По имени я разрешаю буквы, точки и тире. Тестирование для пустой был разработан в этом так пост

class check 
  {
  static function empty_user($a)
    {
    return (int)!in_array('',$a,TRUE); 
    }
  static function name($a)          
    {
    return preg_match('/^[a-zA-Z-\.]{1,40}$/',$a);
    }
  static function email($a)
    {
    return preg_match('/^[a-zA-Z0-9._s-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{1,4}$/',$a);
    }
  static function pass($a)
    {
    return preg_match('/^[a-zA-Z0-9!@#$%^&*]{6,20}$/',$a);
    }
  }


467
4
php
задан 20 сентября 2011 в 02:09 Источник Поделиться
Комментарии
1 ответ

Во-первых, как упомянул @user7212, использовать PHP filter_var() для подтверждения адреса электронной почты. Пожалуйста, см. ниже для примера:

/**
* Validate email
*
* @param string $email
*
* @return bool
*/
public static function email($email)
{
return filter_var($email, FILTER_VALIDATE_EMAIL);
}

Во-вторых, почему бы не называть параметры функции? Если письмо будет вызвана функция $электронной почте, если будет значительно легче понять то долларов.

in_array() функция, согласно его документации, возвращает значение bool. Почему преобразования в тип int? Результат проверки должен быть типа bool.

В перевале() функция, вы проверяете строку или хэш? Что приводит нас к следующему пункту - пишите комментарии к коду! PHPDoc - это хороший пример того, как это сделать.

И последнее, но не менее - имя класса. Проверить это не самое подходящее название. Я бы рассматривал проверки или действительным.

Надеюсь, что это помогает.

2
ответ дан 17 января 2014 в 07:01 Источник Поделиться