Ang Data Maper na dibuho ay isang teknik ng disenyo na ginagamit sa pag-unlad ng software, partikular na sa mga aplikasyon ng PHP, upang ihiwalay ang lohikang pangnegosyo mula sa mga pursige ng data. Ang paghihiwalay na ito ay nagpapabuti sa pagiging matatag ng code, mature, at makwenta sa pamamagitan ng pagbubukod kung paano naiimbak at nakukuha ang datos mula sa mga tuntuning pang-industriya.

Pag - unawa sa Halimbawa ng Date Mapper

Ang pinaka-ugat na ideya ng Data Mapper na dibuho ay ang paggamit ng isang dedikadong layerisensiya na tinatawag na Data Mapperichito transfer data sa pagitan ng mga bagay at isang database na hindi kailangan malaman ang mga detalye ng database. Ang pamamaraang ito ay kabaligtaran ng aktibong Record na padron, kung saan ang mga bagay mismo ang humahawak ng mga operasyon ng database.

Mga Pakinabang sa Paggamit ng Parisang Maper ng Data

  • [[Pangangasiwa: Ang lohikang pangnegosyo mula sa kodigong pang-akademiko ng datos.
  • [Talaksan: Ang lohikang pangnegosyo ay maaaring subukin nang hiwalay sa database.
  • Flexility: Ang mga pagbabago sa database schema o pamamaraan ng pag-iimbak ay nangangailangan ng kaunting mga modipikasyon sa lohikang pangnegosyo.
  • Kapanatilihan: Ang malinaw na paghihiwalay ng mga alalahanin ay nagpapasimple sa pamamahala ng kodigo.

Pag - implementasyon ng Data Mapper sa PHP

Ang paglalagay ng larawan sa mapa ng Data ay nagsasangkot ng paglikha ng tatlong pangunahing bahagi:

  • Doumain Objects: Ikatawan ang mga korporasyong pangnegosyo.
  • Data Mapper Class: Gamitin ang data transfer sa pagitan ng mga bagay at database.
  • [Database Layer: Ang aktuwal na koneksyon sa database at mga queries.

Halimbawa: User entity

Ipagpalagay nang mayroon tayong isang klase sa User na kumakatawan sa isang gumagamit sa ating aplikasyon:

class User {
 public $id;
 public $name;
 public $email;

 public function __construct($id = null, $name = '', $email = '') {
 $this->id = $id;
 $this->name = $name;
 $this->email = $email;
 }
}

Paglikha ng Uring Maper ng Data

Pinapatakbo ng Data Maper para sa klaseng User ang mga interaksiyon ng database:

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();
 }
 }
}

Pagsasaayos

Ang pag - iimplementasyon sa huwaran ng Data Mapper sa PHP ay tumutulong sa paglikha ng isang malinis na arkitektura sa pamamagitan ng pag - aalis ng lohika sa negosyo mula sa imbakan ng impormasyon. Ang pamamaraang ito ay hindi lamang gumagawa sa iyong kodigo na mas napananatili kundi nagpapadali rin sa pagsubok at mga pagbabago sa hinaharap, anupat tinitiyak ang iyong aplikasyon ay nananatiling matibay at madaling makibagay.