正确的实现方式:DAO 设计模式 php+pdo


Correct way of implementation of: DAO Design Pattern php+pdo

class UserMapper {
    protected $db;
    public function __construct(PDO $db) {
        $this->db = $db;
    }
    public function save(User $user_object)
    {
    }

    public function getUserById($id)
    {
        //code
    }

}
class User {
    private $id;
    private $username;
    function __construct($user_row = null) 
    {
        if (!is_null($user_row)) {
            $this->id = $user_row->id;
            $this->username = $user_row->username;
        }
    }
    public function __set($name, $value)
    {
    }
    public function __get($name)
    {
        return $this->$name;
    }
}

例:

$user = new User();
$user->username = 'New Username';
$user_mapper = new UserMapper($db); //Pdo object = $db
$user_mapper->save($user);

这是体现模式的正确方法吗?

嗯,就是这样,但模式还有更多.您可能想查看本文和这些参考资料,该模式在那里进行了深入解释。