加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

为用户编写模型(php)

发布时间:2020-12-13 22:30:43 所属栏目:PHP教程 来源:网络整理
导读:我有一个用户模型,它有很多属性,如first_name,last_name,email,address,address2等 我正在编写一个php类来管理这些属性,但似乎我正在编写很多相同的代码. (吸气者和二传手)我应该使用魔法来管理吗?这似乎是一个好主意,但我不希望设置不正确的属性.有任何想
我有一个用户模型,它有很多属性,如first_name,last_name,email,address,address2等

我正在编写一个php类来管理这些属性,但似乎我正在编写很多相同的代码. (吸气者和二传手)我应该使用魔法来管理吗?这似乎是一个好主意,但我不希望设置不正确的属性.有任何想法吗?

<?php
class User
{
    private $username;
    private $email
    private $first_name;
    private $last_name;
    private $address;
    private $address2;

    function __construct()
    {

    }

        function getUsername()
        {
            return $this->username
        }


        function setUsername($username)
        {
            $this->username = $username;
        }

        ...
}
?>

解决方法

除非你在输入上进行验证,否则我认为在这里使用getter / setter是没有意义的.

使属性公开,并使用魔术方法覆盖无效属性的getter / setter:

class User
{
    public $username;
    public $email;
    public $first_name;
    public $last_name;
    public $address;
    public $address2;

    public function __get($var) {
        throw new Exception("Invalid property $var");
    }

    public function __set($var,$value) {
        $this->__get($var);
    }

}

$user = new User;
$user->username = 'foo';  // works
$user->foo = 'bar';       // errors

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读