Table of Contents
Dette er en determineret teknik, der gør det muligt at anvende den nye teknologi, navnlig PHP-applikationerne, de separate data, der er anvendt, og de data, der er indsamlet, og de data, der er indsamlet, er ikke tilgængelige.
Understanding The Data Mapper Mønster
Dette er en idé, der går ud på, at Data Mapper bruger et særligt layout - kaldet Data Mapper - at det er en slags dataoverførsel, der er nødvendig for at kunne udføre dataene.
Fordele ved Using The Data Mapper Mønster
- (1); (1); (3); (3); (3); (3); (3); (3); (3); (3); (3); (3); (3); (4); (4); (5); (5); (5); (5).
- (') Se også de særlige bestemmelser i forordning (EØF) nr. 1408 / 71.
- (1); (1); (3); (3); (3); (3); (3); (3); (3); (3); (3); (3); (3); (3); (4); (4); (4); (4).
- (1); (1); (3); (3); (3); (3); (3); (3); (3); (3); (3); (3); (3); (3); (4); (4); (4); (5); (5); (5); (5); (5); (5); (6); (6); (6); (6); (6); (6) (6); (6) (6) (6) (6) (6) (7) (7); (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7); 8); 8); 8) (7) (7);
Implementing the Data Mapper in PHP
Implementiningttne Data Mapper mønster involverer creating three main components:
- (') Se også de særlige bestemmelser i forordning (EØF) nr. 1408 / 71.
- (1); (1); (3); (3); (3); (3) Data Mapper Classes: (1); (3); (3); (3); (3) (3) (3) (3) (4) (4) (4) (5) (5) (5) (5) (6) (6) (6) (6) (6) (6) (6) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (
- (') Se bilag "Spørgetid".
Example: Userr Entity
Vi har en Users clas, der repræsenterer en anden anvendelse af ansøgningen:
class User {
public $id;
public $name;
public $email;
public function __construct($id = null, $name = '', $email = '') {
$this->id = $id;
$this->name = $name;
$this->email = $email;
}
}
Skaber denne Data MapperClass
Denne Data Mapper for denne User class management database dataer interaktions:
class UserMapper {
protected $pdo;
public function __construct(PDO $pdo) {
$this->pdo = $pdo;
}
public function findById($id) {
$stmt = $this->pdo->prepare('SELECT * FROM users WHERE id = :id');
$stmt->execute([':id' => $id]);
$row = $stmt->fetch();
if ($row) {
return new User($row['id'], $row['name'], $row['email']);
}
return null;
}
public function save(User $user) {
if ($user->id) {
$stmt = $this->pdo->prepare('UPDATE users SET name = :name, email = :email WHERE id = :id');
$stmt->execute([
':name' => $user->name,
':email' => $user->email,
':id' => $user->id
]);
} else {
$stmt = $this->pdo->prepare('INSERT INTO users (name, email) VALUES (:name, :email)');
$stmt->execute([
':name' => $user->name,
':email' => $user->email
]);
$user->id = $this->pdo->lastInsertId();
}
}
}
Afsluttende
Det er ikke kun en måde at gøre det på, men også en måde at gøre det lettere for dem at teste og få ændret, og det er også en måde at gøre det på.