用户注册类

时间:2010-11-10 14:53:03

标签: php class registration

我是用PHP编写的,但是,一般来说,用户(注册?)类有哪些方法和属性?我知道我可以使用PEAR中的MDB2进行数据库抽象,我能想到的一个功能就是确保用户名有效。

$user->validateUserName($username, $regex);

任何人都可以想到吗?

感谢。

修改

用户名验证是一个自己的类(Validator类或其他东西)?

3 个答案:

答案 0 :(得分:1)

好吧,你应该检查一下

  • 用户名已在使用中
  • 密码足够强大
  • 用户的邮件地址有效

你还需要方法

  • 创建新帐户
  • 更改用户数据
  • 删除现有帐户?
  • 允许用户恢复被遗忘的pws

答案 1 :(得分:0)

根本不应该有这样的课程。注册是接收数据,验证数据并最终在验证成功时处理验证数据的整个过程。换句话说:注册是使用某个对象来解决给定问题的代码的一部分。

你需要什么?

  1. 代表单个用户的对象。
  2. 获取User个对象并保存它的对象。
  3. 一些验证机制(它将使用至少几个对象)。
  4. 让我们设计一个界面。我们将如何使用我们要编写的代码?

    try {
        $validator = new Validator($_POST);
        $validator->addRules(array(
            'username' => new LengthValidator(array('min' => 3, 'max' => 15)),
            'password' => array(
                new LengthValidator(array('min' => 6))
                new RegexpValidator(array('pattern' => '#...#'))
            ),
            'email'    => array(
                new EmailValidator(),
                new UniqueValidator(....)
             )
        ));
    
        $data = $validator->validate();
    
        $userService = new UserService($databaseHandler, $someOtherArguments);
    
        $user = new User();
        $user->setUsername($data['username']);
        $user->setPassword($data['password']);
        $user->setEmail($data['email']);
        $user->setFirstname($data['firstname']);
        $user->setLastname($data['lastname']);
    
        $userService->save($user);
    } catch (ValidationException $ve) {
       // validation failed
    }
    

    这当然只是一个例子 - 它可以完全不同的方式设计。

答案 2 :(得分:0)

ValidForm,它是一个很好的类,用于处理客户端/服务器端的表单。但是,没有MySQL通过表单传递。